Как разбить эту строку в Java - PullRequest
2 голосов
/ 12 мая 2011

Привет, в моей программе строка генерируется как "1&area_id=54&cid=3". Сначала целое число, затем строка "&area_id=", затем другое целое число, и после этого строка "& cid =", а затем последнее целое число. Эти две строки всегда одно и то же. Но целое число меняется. Как написать функцию разделения, чтобы я мог найти эти три целых числа в трех переменных или в массиве. Я могу разделить их с помощью цикла, но я хочу использовать функцию разделения. Спасибо

1 Ответ

9 голосов
/ 12 мая 2011

Как насчет

string.split("&\\w+=")

Это работает с вашим примером:

System.out.println(Arrays.asList("1&area_id=54&cid=3".split("&\\w+=")));

вывод

[1, 54, 3]

Звонок на string.split("&\\w+=") читает на английском языке: Splitstring при каждом совпадении для параметра регулярного выражения, а затем возвращать все подстроки между сопоставленными токенами в виде массива.

Регулярное выражение гласит: Совпадение всех подстрок, начинающихся с "&", за которыми следует по крайней мере ("+") один символ слова ("\\w", т. Е. Буквы, цифры и некоторые специальные символы, такие какподчеркивание из вашего примера), за которым следует "=".Для более подробной информации см. Javadoc для java.util.regex.Pattern

...