【发布时间】:2013-05-05 08:00:25
【问题描述】:
所以该方法有两个参数,第一个是您将要拆分的字符串,第二个是分隔符(在哪里拆分)。 所以如果我传入“abc|def”作为第一个参数和“|”第二个我应该得到一个返回“abc,def”的列表,我遇到的问题是我的 if 语句要求分隔符位于要访问的当前字符串中。我想不出更好的条件,有什么帮助吗?
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++){
newString += string.charAt(i);
if(newString.contains(delimiter)){
//list.remove(string);
list.add(newString.replace(delimiter, ""));
newString="";
}
}
return list;
}
【问题讨论】:
-
在 SO 上发布问题时,请注意正确缩进(注意:TAB 字符不能正常工作),并使用预览来验证您的问题格式是否正确。跨度>
-
如果
String中的分隔符不止一个字符,请使用indexOf查找。 -
除了在当前代码中删除
list.remove(string);和list.add(newString);之外,这个问题与您的 previous one 有何不同?另外如何使用string.indexOf(delimiter)来确定字符串是否包含分隔符,并使用string.substring(start,end)来获取有趣的部分?
标签: java string arraylist split delimiter