Разбить строку и сохранить сплиттер в списке в Groovy - PullRequest
1 голос
/ 07 января 2011

Привет, у меня есть опыт работы с python, и у меня возникла пара проблем с функцией split в groovy (но я думаю, java ...).В частности, я хочу сохранить свой разделенный персонаж, так как я не знаю во время разделения, что это такое.Например, предположим, что у меня есть следующая строка:

"(if (= 2 (- 3 1)) 4 (- 3 1))"

Я хочу разбить ее на:

['', '(', 'if ', '(', '= 2 ', '(', '- 3 1', ')', '', ')', ' 4 ', '(', '- 3 1', ')', '', ')', '']

(примечание: я не пытаюсь написать схему / схему)парсер, это просто простой пример вложенных скобок.)

Есть ли простой способ сделать это в Groovy?

Ответы [ 2 ]

1 голос
/ 07 января 2011

Что касается фундаментальной JDK, этот вопрос (и ответы) подразумевает, что это можно сделать, но не легко (хотя это субъективно).

Это оставляет Groovy JDK. Согласно Groovy JDK doc , особенно по дополнительным методам в String, я не вижу ничего, что давало бы вам то, о чем вы спрашиваете.

0 голосов
/ 08 января 2011

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

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