gpt4 book ai didi

java - regex - 匹配 Java/Scala 字符串中单词末尾的标点符号

转载 作者:行者123 更新时间:2023-12-02 06:08:31 24 4
gpt4 key购买 nike

我在这个链接中有这个正则表达式示例:http://regexr.com/39rr0

文本输入:
1。该相机支持单色、中性、标准、风景和人像!

使用此正则表达式进行字符串替换的预期输出:
1 本相机支持单色中性标准风景和人像

我正在尝试删除单词后面的标点符号,这样我只能得到没有它的单词。我的正则表达式是 (([\S]+)(,|:|;|\?|!)) 并且它在该正则表达式编辑器中匹配得很好。但是,当我执行 string.replace( (([\S]+)(,|:|;|\?|!)), "") 甚至 string.find( ( ([\S]+)(,|:|;|\?|!)) ) 它什么也没找到。

执行此操作的正则表达式是什么?我的正则表达式是否损坏或者我使用不正确。

最佳答案

您不能使用String.replace,它只能替换文字。

尝试更简单的PatternString.replaceAll:

System.out.println(
"1. This camera support Monochrome, Neutral, Standard, Landscape and Portrait!"
.replaceAll("\\p{Punct}", "")
);

输出

1 This camera support Monochrome Neutral Standard Landscape and Portrait

注意

如果您只需要替换单词字符(字母数字)后面的标点符号,您可以改进 Pattern,如下所示:

"(?<=\\w)\\p{Punct}+"

在您的情况下,它将产生相同的输出。

关于java - regex - 匹配 Java/Scala 字符串中单词末尾的标点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26762038/

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