Как сделать этот тип соответствия строковому образцу - PullRequest
0 голосов
/ 06 октября 2019

Так что, если мне дали такую ​​строку:

  s1|s2|s3|s4:t1|t2|t3

и, скажем, в первую очередь я хочу отделить все строки 's', а затем отделить все строки 't'.

как мне избавиться от разделителей, таких как '|'и ':',

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

как будто я знаю шаблон: каждая строка отделяется |Разве нет способа извлечь строки с помощью шаблонов?

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

способ, которым я делаю это, использует несколькоarraylist для хранения индексов delimeitrs и затем arraylist для хранения всех строк, и если я захочу выполнить операцию, это будет еще сложнее.

Ответы [ 2 ]

1 голос
/ 06 октября 2019

Вы можете использовать функцию String.split:

String[] parts = "s1|s2|s3|s4:t1|t2|t3".split("[:|]");
// parts = { s1, s2, s3, s4, t1, t2, t3 }

Обратите внимание, что массив parts может иметь разный размер в зависимости от ввода (например, s1|s2 даст {s1, s2}.

0 голосов
/ 06 октября 2019

Для извлечения любых частей, которые имеют любую букву и любое число сразу после него, вы можете использовать шаблон

[a-z]\d+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...