【发布时间】:2018-11-30 10:49:30
【问题描述】:
我需要替换字符串的某些部分,这些部分可能可用也可能不可用,并且在 Perl s/// 中返回替换的次数。如果有任何东西被替换,这可以很容易地用来回答问题。我正在尝试使用Matcher.replaceAll 在Java 中做同样的事情,虽然这似乎有matching result internally,但我看不到任何访问它的方法。这将使我要么比较返回的字符串和输入的字符串是否存在差异,要么先自己匹配正则表达式,然后根据需要使用replaceAll,这似乎会再次匹配字符串。
或者我遗漏了什么并且有一些可以查询的状态/标志?
【问题讨论】:
-
当输入是
String(而不是另一个CharSequence实现)并且没有匹配时,结果字符串将是与原始字符串相同的对象,因此参考比较就足够了认识到这一点。请注意,这与存在匹配项的情况不同,但替换字符串会产生与原始文本相同的结果。