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

我不认为 JDK 附带了与数组等效的 str_replace,但如果您发现它更方便,您可以轻松地自己创建它:

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 回答