我在SO(和Google)上搜索了很久,但没有找到完全符合我问题的答案:
我想要用另一个字符替换一个 String
中的所有瑞典字符和空格。我希望它按以下方式工作:
- "å" 和 "ä" 应该被替换为 "a"
- "ö" 应该被替换为 "o"
- "Å" 和 "Ä" 应该被替换为 "A"
- "Ö" 应该被替换为 "O"
- " " 应该被替换为 "-"
这可以通过正则表达式(或其他方式)实现吗?如果可以,怎么做呢?
当然,下面的方法可以完成任务(并且可以改进,例如在同一行上替换 "å" 和 "ä"):
private String changeSwedishCharactersAndWhitespace(String string) {
String newString = string.replaceAll("å", "a");
newString = string.replaceAll("ä", "a");
newString = string.replaceAll("ö", "o");
newString = string.replaceAll("Å", "A");
newString = string.replaceAll("Ä", "A");
newString = string.replaceAll("Ö", "O");
newString = string.replaceAll(" ", "-");
return newString;
}
我知道如何使用正则表达式替换所有的 "å","ä" 或 "ö" 为 ""。问题是,我该如何根据字符类型使用正则表达式将一个字符替换为另一个字符?一定有更好的方法使用正则表达式而不是上述方法吧?