Используйте String.split () с несколькими разделителями - PullRequest
175 голосов
/ 13 мая 2011

Мне нужно разбить строку базы на разделитель - и ..Ниже приведены мои желаемые результаты.

AA.BB-CC-DD.zip ->

AA
BB
CC
DD
zip 

, но мой следующий код не работает.

private void getId(String pdfName){
    String[]tokens = pdfName.split("-\\.");
}

Ответы [ 14 ]

0 голосов
/ 13 марта 2019

Попробуйте этот код:

var string = 'AA.BB-CC-DD.zip';
array = string.split(/[,.]/);
0 голосов
/ 12 октября 2017
s.trim().split("[\\W]+") 

должно работать.

0 голосов
/ 14 июля 2017

Лучше использовать что-то вроде этого:

s.split("[\\s\\-\\.\\'\\?\\,\\_\\@]+");

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

0 голосов
/ 13 мая 2011

Если вы знаете, что строка всегда будет в одном и том же формате, сначала разбейте строку на основе . и сохраните строку с первым индексом в переменной. Затем разделите строку во втором индексе на основе - и сохраните индексы 0, 1 и 2. Наконец, разделите индекс 2 предыдущего массива на основе ., и вы должны были получить все соответствующие поля.

См. Следующий фрагмент:

String[] tmp = pdfName.split(".");
String val1 = tmp[0];
tmp = tmp[1].split("-");
String val2 = tmp[0];
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...