gpt4 book ai didi

java - 在java中用正则表达式替换字符串

转载 作者:行者123 更新时间:2023-11-29 09:47:05 24 4
gpt4 key购买 nike

我认为我在 Java 中使用 Regex 匹配字符串方面做得不错,但现在我尝试使用 Regex 替换字符串,但没有取得太大成功。

简单地说,我试图找到一个数字后面紧跟着一个常量字符串“CMR”,然后在数字和“CMR”子字符串之间添加一个空格。 “0CMR”应该变成“0 CMR”,“5CMR”应该变成“5 CMR”,等等。任何前面的非数字都应该保持原样。

所以我的源字符串是“theStringThat0CMRhas

我的命令是:

replaceAll("[0-9]CMR", "[0-9] CMR");

我在结果中得到了增加的空间,但结果变成了“theStringThat[0-9] CMRhas”,这显然不是我需要的。我需要以某种方式告诉 Regex 不要替换为“[0-9]”,而是替换为它首先匹配的任何内容。

我知道我做错了,但我不知道什么是对的。

感谢任何帮助。

谢谢,

汤姆

最佳答案

您想使用 capturing group :

replaceAll("([0-9])CMR", "$1 CMR")

$1 引用匹配中的第一组,用括号表示。

此外,[0-9] 可以替换为 \d

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

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