0

重複の可能性:
記号、アクセント文字を英語のアルファベットに変換する

私は Java プログラマーではなく、特殊文字を非特殊文字に置き換えたいと考えています。私がやっていることはmyString.toLowerCase().replace('ã','a').replace('é','a').replace('é','e')...、これを行うためのより簡単な方法があるはずだと確信しています.

私は以前PHPで作業していましたが、このstr_replace関数があります

// Provides: You should eat pizza, beer, and ice cream every day
$phrase  = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy   = array("pizza", "beer", "ice cream");

$newphrase = str_replace($healthy, $yummy, $phrase);

Javaにそのようなものはありますか?または、少なくとも、replace置き換えたいすべてのキャラクターに a を使用するよりも簡単です。

4

2 に答える 2

4

配列を使用した str_replace に相当するものはJDKに付属しているとは思いませんが、より便利な場合は自分で簡単に作成できます。

public static String strReplace(String[] from, String[] to, String s){
  for(int i=0; i<from.length; i++){
    s = s.replaceAll(from[i], to[i]);
  }
  return s;
}
于 2012-08-28T14:24:50.263 に答える
1

私は長い間Javaを使用していませんが、いつでも(どの言語でも)置換の配列を使用できます...

char[] specials = "ãéé".toCharArray();
char[] replacements = "aee";
for (int i = 0; i < specials.length; i++) {
    myString.replaceAll(specials[i], replacements[i]);
}
于 2012-08-28T14:22:28.157 に答える