我正在尝试从字符串中删除一些内容,如下所示:
"name" : "12345"
12345 永远可以是任何数字,有没有办法做到这一点:
string.replace("\"name\":\"[0-9]\",", "")
这不起作用,我已经尝试了几种方法,但没有任何效果。
谢谢!
最佳答案
在数字部分后面添加一个+
,以便正则表达式匹配任何长度的数字。 [0-9]
单独只能匹配 1 位数字。
此外,空间呢?在您的示例中有空格,在您的代码中没有空格。您可以添加 \\s*
来匹配任何(包括无)空白。
string.replaceAll("\"name\"\\s*:\\s*\"[0-9]+\",", "")
您可以在 Regex101 上尝试一下它.
Andy Turner 的评论:您需要使用 replaceAll
而不是 replace
。 replace
不会将第一个参数解释为正则表达式,而是尝试在字符串中查找确切的字符串。
关于java - 字符串文字中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46322496/