2014-12-03 25 views
0

我有一個像後續的字符串:分割字符串使用掃描儀或正則表達式的Java

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,addingToListAddStudent」的。我的問題是,字符串可能會有所不同。我可以有更多元素用逗號分隔。我看着使用reuglare表達式,但我無法得到它的工作。我厭倦了使用正則表達式,但我不知道如何使用它:

/([^,]+)/ 

解決方案

我用湯姆的回答簡單,快速,乾淨,因爲我的弦總是要有相同的2個第一個元素。所以我用這個:

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

這樣做最常規的方法是什麼?使用字符串替換或正則表達式?

+0

將「AddStudent,addingToListAddStudent」總是在字符串的開始? – 2014-12-03 14:24:05

+4

'string.replace(「AddStudent,addingToListAddStudent,」,「」);'? – Tom 2014-12-03 14:26:39

+0

是的,它會永遠是,它是一個「命令」,我發送到服務器 – Tuytuy 2014-12-03 14:26:51

回答

1

如果你想拆分字符串(如你的問題標題建議)。使用string.split(「」),這將返回字符串前數組:{"AddStudent" , "addingToListAddStudent" , ...}

然後你可以將其轉換爲一個列表:

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

然後你就可以去除第一和第二元素。

否則,如果你只是想去掉傳遞addStudent,addingToListAddStudent然後用

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

正則表達式解決方案至少對我來說看起來更乾淨。 – abalcerek 2014-12-03 14:30:50

0

如果你不這樣做很多時候你可以用與string.replace()否則,如果你是很多時候你應該使用它爲它編譯一個正則表達式,並用正則表達式替換它。這是更高性能

相關問題