正则表达式命令没有正确执行

时间:2013-07-18 00:59:07

标签: java regex

我试图从文本文件中删除一行并删除所有标点符号,例如逗号,句点,单引号,双引号等,并将字符串设置为小写。我正在使用的代码是:

inputLine.replaceAll("[^a-zA-Z'\\s]", "").toLowerCase();

我理解的是这样做,但事实并非如此。它也没有将单词设置为小写。所以我添加了另一行来专门删除句点和逗号:

inputLine.replaceAll("\\.", "");

然后将每个单词拆分成一个String数组:

String[] strings = inputLine.split(" ");

但是,我仍然会使用sets, There properties:[1]这样的字词结尾。有谁知道为什么会这样,或者你能提供解决方案吗?我之前没有做过很多正则表达式的工作,所以这对我来说都很新鲜。

1 个答案:

答案 0 :(得分:1)

你要重新分配inputLine吗?请记住:字符串是不可变的!

inputLine = inputLine.replaceAll("[^a-zA-Z'\\s]", "").toLowerCase();

顺便说一句,您也可以使用.replaceAll("\\p{Punct}", "")替换所有标点符号。