2013-04-05 64 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