如何在Java中的字符串标记生成器中否定分隔符字符串中的正则表达式

时间:2013-01-17 17:52:02

标签: java regex stringtokenizer

假设我想要将除[a-zA-Z]以外的所有内容设置为的文本标记化 分隔符如何在Java中编写sringtokenizer? 它看起来像这样:StringTokenizer st = new StringTokenizer(data, "[[^a-z]&&[^A-Z]");

2 个答案:

答案 0 :(得分:2)

尝试regexp [^a-zA-Z]+

String text = "hello, world^ i love: #66 you";
for (String str : text.split("[^a-zA-Z]+")) {
    System.out.println(str);
}

答案 1 :(得分:0)

使用基于negative lookahead的正则表达式:

String[] arr = data.split("(?i)(?![a-z]).");

?i - ignore case
?! - Negative lookahead

这意味着划分任何其他字符a-z或A-Z。