есть ли способ использовать tr // / (или эквивалент) в java?

Я хотел бы знать, есть ли эквивалент to 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);

Есть ли лучший способ сделать это?

Заранее благодарим.

14
задан Limao Luo 17 September 2011 в 21:28
поделиться