我想在下列许多字符之一上分割句子。我的正则表达式可以基于大部分字符进行分割,但不能分割 '[]' (左右方括号)。如果我将字符串 SPECIAL_CHARACTERS_REGEX 更改为
另一个相关的问题是,是否有一种方法也可以从字符串中分割数字?例如,
[ :;'=\\()!-\\[\\]]
,它会开始在字符串中分割整数,而不是分割方括号。如何使正则表达式在方括号而不是整数上分割 ('[]' 表示所有整数)。另一个相关的问题是,是否有一种方法也可以从字符串中分割数字?例如,
9pm
应该分割成 9
和 pm
。This:
private static final String SPECIAL_CHARACTERS_REGEX = "[ :;'=\\()!-]";
String rawMessage = "let's meet tomorrow at 9:30p? 7-8pm? i=you go (no Go!) [to do !]"
String[] tokens = rawMessage.split(SPECIAL_CHARACTERS_REGEX);
Gives:
Input: let's meet tomorrow at 9:30p? 7-8pm? i=you go (no Go!) [to do !]
output: [let, s, meet, tomorrow, at, 9, 30p?, 7, 8pm?, i, you, go, , no, Go, , , [to, do, , ]]
同时,
This:
private static final String SPECIAL_CHARACTERS_REGEX = "[ :;'=\\()!-\\[\\]]";
String rawMessage = "let's meet tomorrow at 9:30p? 7-8pm? i=you go (no Go!) [to do !]"
String[] tokens = rawMessage.split(SPECIAL_CHARACTERS_REGEX);
Gives:
let's meet tomorrow at 9:30p? 7-8pm? i=you go (no Go!) [to do !]
[let, s, meet, tomorrow, at, , , , , p, , , , , pm, , i, you, go, , no, , o, , , , to, do]
期望的输出结果:
{"let", "s", "meet", "tomorrow", "at", "9", "30", "p", "7", "8", "pm", "i", "you", "go", "no", "Go", "to", "do"}