Разделить строку с помощью регулярного выражения - PullRequest
0 голосов
/ 28 января 2012

Как разделить строку на 3 символа?(Я не хочу делать цикл для этого, может быть, поможет какое-то регулярное выражение)

Я приведу пример:

String str = "111222333444";
String[] result = str.split("help?"); // get "111", "222", "333"

Ответы [ 4 ]

4 голосов
/ 28 января 2012

Использование библиотеки guava

 Iterable<String> strNums = Splitter.fixedLength(3).split("111222333444")

Читается, чем с помощью регулярных выражений. Затем вы можете использовать Ints.tryParse(...), чтобы получить целочисленную версию, если хотите.

1 голос
/ 28 января 2012

Честно говоря, я не думаю, что вы можете сделать это для строки неопределенной длины, без цикла.

1 голос
/ 28 января 2012

Использование .split будет соответствовать регулярным выражениям в строке, которые в базовой реализации в любом случае включают обход всей строки. Написание простого цикла для простого создания токена из каждых 3 символов, вероятно, будет более эффективным.

0 голосов
/ 28 января 2012

Нельзя использовать split, поскольку аргумент split является разделителем, а не результирующими подстроками.Итак, ваше регулярное выражение-разделитель будет nothing!?

Извините, у вас есть цикл записи.Кстати, движок регулярных выражений для split полон циклов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...