正则表达式替换除空(“”)字符之外的所有非字母数字字符

时间:2013-11-11 08:36:17

标签: java

我想要一个正则表达式来替换除“/”之外的所有非字母数字字符和“”(空字符)。

这就是我所做的:

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导入到我的项目中以利用正则表达式。

1 个答案:

答案 0 :(得分:2)

使用正则表达式[^a-zA-Z0-9//]代替[^a-zA-Z0-9]来逃避/

 LibString.replaceAll(token, "[^a-zA-Z0-9//]", "");