2013-05-02 62 views
0

我有一个字符串:Perl的替代

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 

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

回答

3

匹配字符串的末尾与$

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

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

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

很多谢谢:)问题解决了 – Tuan 2013-05-02 03:20:29