我正在尝试使用 Java 中用户的输入来获取一个句子,我需要将其设为小写并删除所有标点符号。这是我的代码:
String[] words = instring.split("\\s+");
for (int i = 0; i < words.length; i++) {
words[i] = words[i].toLowerCase();
}
String[] wordsout = new String[50];
Arrays.fill(wordsout,"");
int e = 0;
for (int i = 0; i < words.length; i++) {
if (words[i] != "") {
wordsout[e] = words[e];
wordsout[e] = wordsout[e].replaceAll(" ", "");
e++;
}
}
return wordsout;
我似乎找不到任何方法来删除所有非字母字符。我尝试过使用正则表达式和迭代器,但没有成功。谢谢你的帮助。
原文由 TheDoctor 发布,翻译遵循 CC BY-SA 4.0 许可协议
这首先删除所有非字母字符,折叠为小写,然后拆分输入,在一行中完成所有工作:
空格最初留在输入中,因此拆分仍然有效。
通过在拆分 之前 删除垃圾字符,您可以避免遍历元素。