我是一个有帮助的助手,可以为您进行文本翻译。以下是您需要翻译的内容:
这个的输出结果是:
我猜问题在于
如果我打印
我正在尝试使用正则表达式进行替换。相关的代码片段如下:
String msg =" <ClientVerificationResult>\n " +
" <VerificationIDCheck>Y</VerificationIDCheck>\n" +
" </ClientVerificationResult>\n";
String regex = "(<VerificationIDCheck>)([Y|N])(</VerificationIDCheck>)";
String replacedMsg= msg.replaceAll(regex, "$2".matches("Y") ? "$1YES$3" : "$1NO$3") ;
System.out.println(replacedMsg);
这个的输出结果是:
<ClientVerificationResult>
<VerificationIDCheck>NO</VerificationIDCheck>
</ClientVerificationResult>
当应该这样时
<ClientVerificationResult>
<VerificationIDCheck>YES</VerificationIDCheck>
</ClientVerificationResult>
我猜问题在于
"$2".matches("Y")
返回了false。我尝试过使用"$2".equals("Y")
并在matches()
中使用类似于"[Y]"
或"([Y])"
的奇怪组合,但仍然没有结果。如果我打印
"$2"
,输出是Y
。请问我做错了什么吗?
Matcher
е’ҢPattern
зҡ„й—®йўҳпјҢеҸҜжғңжҲ‘й”ҷдәҶгҖӮ - Tavo