我想知道Java中是否有与 tr/// (在 Perl 中使用的)等价的东西。例如,如果我想用“mississippi”中的“p”替换所有“s”,反之亦然,我可以在 Perl 中写
#shebang and pragmas snipped...
my $str = "mississippi";
$str =~ tr/sp/ps/; # $str = "mippippissi"
print $str;
我能想到在Java中做到这一点的唯一方法是在该String.replace()
方法中使用一个虚拟字符,即
String str = "mississippi";
str = str.replace('s', '#'); // # is just a dummy character to make sure
// any original 's' doesn't get switched to a 'p'
// and back to an 's' with the next line of code
// str = "mi##i##ippi"
str = str.replace('p', 's'); // str = "mi##i##issi"
str = str.replace('#', 'p'); // str = "mippippissi"
System.out.println(str);
有一个更好的方法吗?
提前致谢。