使用扫描程序或正则表达式java拆分String

时间:2014-12-03 14:22:01

标签: java regex string

我有一个字符串如下:

AddStudent,addingToListAddStudent,FD,M,fdsq,fdsq,85/26/9541,fdsq,842-568 523,fdqs,fdqs,fdsq,fdsq,4,MAT101,Math 101,Mr. Smith,20,3.15,1,Computer Science Bsc,120

(全部在一行)

我想摆脱“AddStuent,addsToListAddStudent”。我的问题是字符串的大小可能不同。我可以用逗号分隔更多元素。我考虑使用reuglare表达但我无法使它工作。我厌倦了使用这个正则表达式,但我不确定如何使用它:

/([^,]+)/

解决方案

我使用汤姆的答案简单,快速和干净,因为我的字符串总是会有相同的2个第一个元素。所以我用过这个:

string.replace("AddStudent,addingToListAddStudent,", "");

最常规的做法是什么?使用字符串替换还是正则表达式?

2 个答案:

答案 0 :(得分:1)

如果要拆分字符串(如问题标题所示)。使用string.split(","),这将返回一个字符串数组ex:{"AddStudent" , "addingToListAddStudent" , ...}

然后你可以把它转换成一个列表:

List<String> strings = Arrays.asList(string.split(","));

然后你可以删除第一个和第二个元素。

否则,如果您只想删除AddStudent,请添加ToListAddStudent然后使用

string.replace("AddStudent,addingToListAddStudent,", "");

答案 1 :(得分:0)

如果你不经常这样做,你可以使用String.replace()else,如果你经常使用它,你应该为它编译一个正则表达式并用正则表达式替换它。性能更高