Ответ 1
Используйте это:
myString.split("(==)|(\\+\\+)")
Я знаю, что вы можете разделить свою строку, используя myString.split("something")
. Но я не знаю, как я могу разделить строку на два разделителя.
Пример:
mySring = "abc==abc++abc==bc++abc";
Мне нужно что-то вроде этого:
myString.split("==|++")
Каково его регулярное выражение?
Используйте это:
myString.split("(==)|(\\+\\+)")
Как бы я это сделал, если бы мне пришлось разбить, используя две подстроки:
String mainString = "This is a dummy string with both_spaces_and_underscores!"
String delimiter1 = " ";
String delimiter2 = "_";
mainString = mainString.replaceAll(delimiter2, delimiter1);
String[] split_string = mainString.split(delimiter1);
Сначала замените все экземпляры второго разделителя первым и разделите сначала.
Примечание. Использование replaceAll
позволяет использовать regexp для delimiter2
. Таким образом, вы должны фактически заменить все соответствия delimiter2
на некоторую строку, которая соответствует delimiter1
regexp.
Вы можете использовать этот
mySring = "abc==abc++abc==bc++abc";
String[] splitString = myString.split("\\W+");
Регулярное выражение \W + --- > оно разделит строку на основе символа, отличного от слова.
Попробуйте это
String str = "aa==bb++cc";
String[] split = str.split("={2}|\\+{2}");
System.out.println(Arrays.toString(split));
Ответ представляет собой массив
[aa, bb, cc]
{2} соответствует двум символам обрабатывающего символа. Это либо =, либо + (экранированный) | соответствует любой стороне
Я избегаю \in java, поэтому регулярное выражение на самом деле ={2}|\+{2}