Функциональность разделения, по-видимому, отличается между Java и JavaScript.
Мне не нужно точно соответствовать определенным критериям регулярного выражения или использовать регулярное выражение на основе lookahead. Моя проблема заключается в том, что пустые совпадения возвращаются после окончательного соответствия разделенного регулярного выражения (которое представляет собой простой набор символов, а не выражение).
Ниже приведен пример результата, который я пытаюсь достичь, и что я действительно получаю.
Java
("~#~~#~~#~A~#~B~#~C~#~D~#~E~#~~#~~#~").split("~#~")
/* results with an array of length 8 */ (java.lang.String[]) [, , , A, B, C, D, E]
Javascript
"~#~~#~~#~A~#~B~#~C~#~D~#~E~#~~#~~#~".split("~#~")
/* results with an array of length 11 */ ["", "", "", "A", "B", "C", "D", "E", "", "", ""]
Я действительно не могу положиться на это хорошее объяснение, поскольку я работаю с Java-приложением, и раскол вызывает у меня проблемы, я хочу получить тот же результат, что и в JavaScript. Как я могу это получить?