gpt4 book ai didi

Java正则表达式删除所有非字母数字字符,除了空格

转载 作者:IT老高 更新时间:2023-10-28 21:22:04 26 4
gpt4 key购买 nike

我正在尝试用 Java 编写一个正则表达式,它会从段落中删除所有非字母数字字符,除了单词之间的空格。

这是我写的代码:

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

但是,编译器给了我一条错误消息,指向 s 说它是非法的转义字符。在我将\s 添加到正则表达式的末尾之前,程序编译正常,但问题是段落中单词之间的空格被去除了。

我该如何解决这个错误?

最佳答案

您需要对 \ 字符进行双重转义:"[^a-zA-Z0-9\\s]"

Java 会将 \s 解释为 Java 字符串转义字符,这确实是无效的 Java 转义。通过编写 \\,您可以转义 \ 字符,本质上是向正则表达式发送单个 \ 字符。此 \ 然后成为正则表达式转义字符 \s 的一部分。

关于Java正则表达式删除所有非字母数字字符,除了空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11796985/

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