我试图从文本文件中删除一行并删除所有标点符号,例如逗号,句点,单引号,双引号等,并将字符串设置为小写。我正在使用的代码是:
inputLine.replaceAll("[^a-zA-Z'\\s]", "").toLowerCase();
我理解的是这样做,但事实并非如此。它也没有将单词设置为小写。所以我添加了另一行来专门删除句点和逗号:
inputLine.replaceAll("\\.", "");
然后将每个单词拆分成一个String数组:
String[] strings = inputLine.split(" ");
但是,我仍然会使用sets,
There
properties:[1]
这样的字词结尾。有谁知道为什么会这样,或者你能提供解决方案吗?我之前没有做过很多正则表达式的工作,所以这对我来说都很新鲜。
答案 0 :(得分:1)
你要重新分配inputLine
吗?请记住:字符串是不可变的!
inputLine = inputLine.replaceAll("[^a-zA-Z'\\s]", "").toLowerCase();
顺便说一句,您也可以使用.replaceAll("\\p{Punct}", "")
替换所有标点符号。