RegEx帮助标记字符串

时间:2011-01-10 00:28:36

标签: java regex text

有人可以告诉我如何做到这一点:(King's_Cross_St_Pancras, Farringdon, Hammersmith_&_City_Line)

并将其拆分为:

array[0]: King's_Cross_St_Pancras
array[1]: Farringdon
array[2]: Hammersmith_&_City_Line

正则表达式也应该考虑&lt; &GT;也是非单词字符。我试图使用"\b(<>&')?“来制作正则表达式。”但这完全没用。

请帮忙

2 个答案:

答案 0 :(得分:5)

此处无需使用正则表达式。使用()删除String.substring(),然后使用String.split()将字符串拆分为令牌。虽然从技术上讲这也是一个正则表达式解决方案,因为String.split()需要一个正则表达式。 :)

String s = "(King's_Cross_St_Pancras, Farringdon, Hammersmith_&_City_Line)";
s = s.substring(1, s.length()-1);
String tokens[] = s.split(", ");

结果:

King's_Cross_St_Pancras
Farringdon
Hammersmith_&_City_Line

http://ideone.com/zSDN5

答案 1 :(得分:1)

如果没有RegEx,您可以更轻松,更快地完成此任务:

String str = "(King's_Cross_St_Pancras, Farringdon, Hammersmith_&_City_Line)";
String result[] = str.substring(1, str.length()-1).split(",");