如何在Java中从输入文本中删除标点符号?
我试图使用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;
我似乎找不到任何方法来删除所有非字母字符。我尝试过使用regexes和迭代器没有任何运气。谢谢你的帮助。
回答:
首先删除所有非字母字符,将其折叠为小写字母,然后分割输入,在一行中完成所有工作:
String[] words = instring.replaceAll("[^a-zA-Z ]", "").toLowerCase().split("\\s+");
最初在输入中留有空格,因此拆分仍将起作用。
通过 在 拆分 之前 删除垃圾字符,可以避免循环遍历元素。
以上是 如何在Java中从输入文本中删除标点符号? 的全部内容, 来源链接: utcz.com/qa/400840.html