如何分离字符串java中的特定元素

时间:2013-05-09 12:03:07

标签: java string arraylist delimiter

我想做的例子:
如果您将"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;
}

3 个答案:

答案 0 :(得分:2)

尝试使用split方法:

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

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

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

答案 1 :(得分:1)

如果你想用字符......

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

答案 2 :(得分:0)

它正在寻找什么?String类中有一个预定义的函数。使用它

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

在此处使用resulted数组播放。

祝你好运。