我想要一个正则表达式来替换除“/”之外的所有非字母数字字符和“”(空字符)。
这就是我所做的:
LibString.replaceAll(token, "[^a-zA-Z0-9]", "");
LibString中的函数实现是:
public static String replaceAll(String source, String regex, String replacement)
{
Pattern pattern = new Pattern(regex, 0);
Replacer replacer = pattern.replacer(replacement);
String result = replacer.replace(source);
return result;
}
我给的字符串是:
'法国对汤加'。法国国际橄榄球闪电战H / L 2013。 法国国际橄榄球比赛的亮点。
预期结果:
单词列表:
法国
VS
汤加
法国
国际
H / L
..等等
实际结果是:
“法国
[空]
汤加”。
.French
[空]
请建议。
请注意:我正在使用具有JVM 1.2的系统,因此无法使用任何util.regex或String替换所有类型的方法。
我已将jregex.jar导入到我的项目中以利用正则表达式。
答案 0 :(得分:2)
使用正则表达式[^a-zA-Z0-9//]
代替[^a-zA-Z0-9]
来逃避/
LibString.replaceAll(token, "[^a-zA-Z0-9//]", "");