0

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

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

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

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

然后将每个单词拆分为一个字符串数组:

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

但是,我仍然以诸如sets, There properties:[1]. 有谁知道为什么会这样,或者你能提供一个解决方案吗?我以前没有做过太多的正则表达式工作,所以这对我来说都是全新的。

4

1 回答 1

1

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

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

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

于 2013-07-18T01:02:55.537 回答