0

我有一个字符串:

test1.domain.com.test1.domain.com

我想替换右侧的字符串 domain.com 以获得结果:

test1.domain.com.test1

使用 Perl 字符串替换模式时

myString = "test1.domain.com.test1.domain.com";
replacedString = "domain.com";
resultString = null;
Perl5Util perl=new Perl5Util();
resultString =perl.substitute("s/." + replacedString + "//o",myString );

但是,Perl 从左到右将字符串“domain.com”替换为结果

test1.test1.domain.com

有什么办法可以改变行为吗?

4

1 回答 1

3

将字符串的结尾与 . 匹配$

perl.substitute("s/." + replacedString + "$//o",myString );

您可能也应该逃避它.,因为.匹配任何字符。您可能需要两个反斜杠 ( \\.) 否则 java 字符串会将其视为特殊字符。如果您不想转义,.请使用字符选择语法[.]

perl.substitute("s/\\." + replacedString + "$//o",myString );
于 2013-05-02T03:11:50.330 回答