java - 字符串文字中的正则表达式

标签 java regex string replace

我正在尝试从字符串中删除一些内容,如下所示:

"name" : "12345"

12345 永远可以是任何数字,有没有办法做到这一点:

string.replace("\"name\":\"[0-9]\",", "")

这不起作用,我已经尝试了几种方法,但没有任何效果。

谢谢!

最佳答案

在数字部分后面添加一个+,以便正则表达式匹配任何长度的数字。 [0-9] 单独只能匹配 1 位数字。

此外,空间呢?在您的示例中有空格,在您的代码中没有空格。您可以添加 \\s* 来匹配任何(包括无)空白。

string.replaceAll("\"name\"\\s*:\\s*\"[0-9]+\",", "")

您可以在 Regex101 上尝试一下它.

Andy Turner 的评论:您需要使用 replaceAll 而不是 replacereplace 不会将第一个参数解释为正则表达式,而是尝试在字符串中查找确切的字符串。

关于java - 字符串文字中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46322496/

相关文章:

r - 在 R 中解码字符串向量

iphone - 如何在 Objective C 中使用 strlen 查找字符串长度

java - JButton 表java

java - 是否可以从两个不同的java应用程序访问同一个Ehcache对象?

regex - 有一些好的视觉正则表达式编辑器吗?

regex - 模式匹配时是否可以使非捕获组在 Scala 正则表达式中工作

c - 查找字符串中的第一个非重复字符

java - 如何使用java通过HttpPost发送空的二进制数据

java - 如何在 hibernate 中处理多个 session 事务提交和回滚?

javascript - 使用 javascript 正则表达式进行正向预测