2013-04-05 63 views
0

我有一個字符串,我需要解析,我想用模式匹配器 需要幫助模式。Java模式匹配器單個或多個用逗號分隔

如果字符串如下:

sometext : test1,test2 

輸出應爲:

TEST1

TEST2

如果輸入字符串是:

sometext : test1 

然後OUTP ut應該是:

test1 

如您所見,它可以是多個或單個。

+1

請問您的字符串包含' 「sometext:」'一部分,或者是剛剛描述? – 2013-04-05 12:05:11

+0

該模式的一部分 – user2063760 2013-04-05 12:09:15

回答

3

那麼,你只需要用空格替換,?如果你需要一個新行的第一個字後,你可以做

String output = sometext.replace(",", System.getProperty("line.separator")); 

,而不是我會建議一個簡單的

String output = sometext.replace(",", " "); 

如果"sometext : "包括在輸入,你可以用同樣的方式除掉,首先的:

String output = input.replace("sometext : ", "").replace(",", " "); 
+0

正在尋找模式.. – user2063760 2013-04-05 13:16:04

+0

@ user2063760:爲什麼您需要特定模式,這會使解決方案更加複雜。另外,模式本身不會產生輸出,您想如何使用它? – Keppil 2013-04-05 13:20:05

+0

我的程序必須解析大文件,這是一行。 – user2063760 2013-04-05 13:27:45

0

首先,你必須分開「爲test1,test2的」從「SomeText」則會,然後使用replaceAll通過,令牌獲取測試數組。

String foo = "sometext : test1,test2"; 
String[] fooArr = foo.split("[:]"); 
String tests = fooArr[1]; 
System.out.println(tests.replaceAll(",", " ")); 

+0

如果可能,尋找模式,而不是字符串操作 – user2063760 2013-04-05 13:16:24