【问题标题】:How to separate specific elements in string java如何分隔字符串java中的特定元素
【发布时间】:2013-05-09 12:03:07
【问题描述】:

我想做的例子:
如果传入"abc|xyz" 作为第一个参数,"|" 作为第二个参数,则该方法返回List("abc","xyz")

public List<String> splitIt(String string, String delimiter){
        //create and init arraylist.
        List<String> list = new ArrayList<String>();
        //create and init newString.
        String newString="";
        //add string to arraylist 'list'.
        list.add(string);
        //loops through string.
        for(int i=0;i<string.length();i++){
            //stores each character from string in newString.
            newString += string.charAt(i);              
            }
        newString.replace(delimiter, "");
        //remove string from arraylist 'list'.
        list.remove(string);
        //add newString to arraylist 'list'.
        list.add(newString);
        return list;
}

【问题讨论】:

标签: java string arraylist delimiter


【解决方案1】:

尝试使用split 方法:

return Arrays.asList(string.split("\\|"));

有两个反斜杠是因为split 接受正则表达式,而| 是正则表达式中的特殊字符。此外,反斜杠是 Java 字符串中的特殊字符。所以第一个反斜杠转义了第二个反斜杠,第二个反斜杠转义了|

Arrays.asList 会将split 返回的数组转换为列表。

【讨论】:

    【解决方案2】:

    如果您想使用字符来执行此操作...

    1. 获取整个字符串
    2. 逐个字符读入新字符串
    3. 如果找到分隔符,请将新字符串添加到列表中。空的新字符串。
    4. 重复。

    【讨论】:

      【解决方案3】:

      是你要找的吗??String类中有一个预定义的函数,好好利用吧

       String original ="abc|xyz";
       String[] resulted =original.split("\\|");//returns a String array
      

      在此处使用resulted 数组。

      祝你好运。

      【讨论】:

        猜你喜欢
        • 2013-11-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-20
        • 1970-01-01
        • 2016-03-08
        • 1970-01-01
        相关资源
        最近更新 更多