Я задал вопрос о пунктуации и регулярном выражении, но это сбивало с толку.
Предположим, у меня есть этот текст:
String text = "wor.d1, :word2. wo,rd3? word4!";
Я делаю это:
String parts[] = text.split(" ");
И у меня есть это:
wor.d1, | :word2. | wor,d3? | word4!;
Что Мне нужно сделать это? (Оставьте символы на границах, но только те, которые я указал: .,!?:
, не все).
wor,d1 | , | : | word2 | . | wor,d3 | ? | word4 | !
I Я получаю хорошие результаты с этим регулярным выражением, но он дает пустой символ перед всеми разделениями на пунктуацию в начале слова.
Есть способ избавиться от этого пустого символа в начале?
Это регулярное выражение хорошее, или есть более простой способ?
public static final String PUNCTUATION_SEPARATOR =
"("
+ "("
+ "(?=^[\"'!?.,;:(){}\\[\\]]+)"
+ "|"
+ "(?<=^[\"'!?.,;:(){}\\[\\]]+)"
+ ")"
+ "|"
+ "("
+ "(?=[\"'!?.,;:(){}\\[\\]]+($|\n))"
+ "|"
+ "(?<=[\"'!?.,;:(){}\\[\\]]+($|\n))"
+ ")"
+ ")";