Я хотел бы знать, есть ли эквивалент tr/// (используемый в Perl) в Java. Например, если бы я хотел заменить все "s" на "p" в слове "mississippi" и наоборот, я мог бы на 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);
Есть лучший способ сделать это?
Заранее спасибо.