Java - 替换多个字符

时间:2012-08-28 14:17:29

标签: java string replace

  

可能重复:
  Converting Symbols, Accent Letters to English Alphabet

我不是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

2 个答案:

答案 0 :(得分: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;
}

答案 1 :(得分:1)

我很长时间没有使用过Java,但你总是可以使用一系列替换(用任何语言)......

char[] specials = "ãéé".toCharArray();
char[] replacements = "aee";
for (int i = 0; i < specials.length; i++) {
    myString.replaceAll(specials[i], replacements[i]);
}