gpt4 book ai didi

java - String.replaceAll 方法是否有一个仅保留字母和空格的正则表达式

转载 作者:行者123 更新时间:2023-12-02 01:09:03 25 4
gpt4 key购买 nike

我编写了一个程序来计算一个很长的字符串中单词的频率。我的问题是,程序将例如“*it”(考虑*引号)和“it”计算为不同的单词,因此将它们放入不同的类别。

我尝试用以下代码替换我所知道的所有标点符号:

text = text.replace("\n", " ");
text = text.replaceAll("\\p{Punct}", " ");
text = text.replace("\"", "");
text = text.replace("–", "");
text = text.replace("\t", "");

不幸的是,代码不起作用,我认为这是因为 Unicode 中有很多不同的引号,我看不出它们之间的区别,所以有没有办法删除除字母和之外的所有 Unicode 字符使用 String.replaceAll 方法删除空格,还是必须创建一个 CharArray 并从那里继续?

非常感谢,任何帮助将不胜感激。

最佳答案

我认为这可能会做到

text = text.replaceAll("[^a-zA-Z0-9 ]", "");

这将删除所有非字母数字或特殊字符的字符。

编辑:-

按照 @npinti 的建议

text = text.replaceAll("[^\\p{L}0-9 ]", "");

关于java - String.replaceAll 方法是否有一个仅保留字母和空格的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59628461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com