Java/Scala正则表达式:将括号中的数字移动到字符串中
如何捕获数字(在以下情况下为250)并将其插入替换字符串中 我拥有的:Java/Scala正则表达式:将括号中的数字移动到字符串中,java,regex,scala,replace,regex-group,Java,Regex,Scala,Replace,Regex Group,如何捕获数字(在以下情况下为250)并将其插入替换字符串中 我拥有的:“位数据(250)的字符()不为空” 我想要的:“位数据的字符(250)不为空” 我希望在Scala中实现这一点,但我想它只是使用java.util.regex 以下是我尝试过的: “CHAR()表示位数据(250)不为NULL”“。replaceAll(“CHAR\\\(\\)表示位数据\\([0-9]+)\\”,“这是字符串:$0”) 我只是不知道如何只获取数字,以便将它们重新插入到新字符串中。您可以使用 .replace
“位数据(250)的字符()不为空”
我想要的:“位数据的字符(250)不为空”
我希望在Scala中实现这一点,但我想它只是使用java.util.regex
以下是我尝试过的:
“CHAR()表示位数据(250)不为NULL”“。replaceAll(“CHAR\\\(\\)表示位数据\\([0-9]+)\\”,“这是字符串:$0”)
我只是不知道如何只获取数字,以便将它们重新插入到新字符串中。您可以使用
.replaceAll("""(CHAR \()(\) FOR BIT DATA)\((\d+)\)""", "$1$3$2")
见
详细信息
-第1组((CHAR\()
):$1
文本CHAR(
-第2组((\)用于位数据)
):$2
文本)用于位数据
-a\(
字符(
-第3组((\d+)
):一个或多个数字$3
-a\)
字符)
$1
而不是$0
,但我不确定,谢谢。我最终使用了以下方法,但您的解决方案效果很好<代码>“CHAR()表示位数据(250)不为空”“。replaceAll(“CHAR\\(\\)表示位数据\\([0-9]+)\\)不为空”,“CHAR($1)表示位数据不为空”)