RegEx поможет маркировать строку - PullRequest
0 голосов
/ 10 января 2011

Может кто-нибудь сказать мне, как я могу взять это: (King's_Cross_St_Pancras, Farringdon, Hammersmith_&_City_Line)

И разделить его на:

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

В регулярном выражении также должны учитываться <> несловные символы.Я попытался сделать регулярное выражение, используя: "\b(<>&')? ".. это, однако, совершенно бесполезно.

Пожалуйста, помогите

Ответы [ 2 ]

5 голосов
/ 10 января 2011

Здесь нет необходимости использовать регулярное выражение. Снимите (), используя 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 голос
/ 10 января 2011

Вы можете сделать это проще и быстрее без RegEx:

String str = "(King's_Cross_St_Pancras, Farringdon, Hammersmith_&_City_Line)";
String result[] = str.substring(1, str.length()-1).split(",");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...