0

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

3 回答 3

2

尝试使用以下split方法:

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

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

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

于 2013-05-09T12:05:01.830 回答
1

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

  1. 获取整个字符串
  2. 逐个字符读入一个新字符串
  3. 如果找到分隔符,请将新字符串添加到列表中。空的新字符串。
  4. 重复。
于 2013-05-09T12:08:48.887 回答
0

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

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

在这里玩resulted数组。

祝你好运。

于 2013-05-09T12:05:03.780 回答