gpt4 book ai didi

java - 如何删除单词周围的字符?

转载 作者:行者123 更新时间:2023-11-30 03:48:20 25 4
gpt4 key购买 nike

我需要删除每个单词开头和结尾的所有非字母字符。例如:

--Hello& World-@ 1234...

应该看起来像:

Hello World 1234

我尝试了 replaceAll,但我不知道需要删除多少个不同的字符或这些字符是什么。我尝试了以下方法,但没有成功。

word = resultString.replaceAll("[^a-zA-Z_0-9|$a-zA-Z_0-9]|^-|$-|^--|$--|^---|$---|\\$", "");

仍然有一些单词显示为破折号。

是否有另一种方法可以在不使用 replaceAll 的情况下执行此操作?

最佳答案

严格来说,所有答案都不能完全解决作者提出的问题。问题是它们都会删除特殊字符甚至在单词内部,而不仅仅是“从每个单词的开头和结尾”

这是修复它的代码:

String str = "--Hello& World-@ 1234...  my email is me@example.com";

// Analyzing every word
String[] words = str.split("\\s+");
String regex = "^[^a-zA-Z0-9]+|[^a-zA-Z0-9]+$";
String result = "";

for (String word : words) {
result += word.replaceAll(regex, "") + " ";
}

System.out.println(result); // gives "Hello World 1234 my email is me@example.com "

正则表达式“^[^a-zA-Z0-9]+|[^a-zA-Z0-9]+$”解释:

^[^a-zA-Z0-9]+ 匹配单词开头的一个或多个特殊字符

|

[^a-zA-Z0-9]+$ 单词末尾有一个或多个特殊字符。

您可以修改正则表达式,以免删除单词末尾的 ,.!?:; 或其他有意义的字符。

关于java - 如何删除单词周围的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25028381/

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