有没有更短的方法可以替换连续调用String.replace的字符串中的某些字符?

时间:2019-08-06 15:20:00

标签: java regex replace

想象一下,我想将字符串中所有出现的“ A”替换为“ 1”,“ B”替换为“ 2”,而“ C”替换为“ 3”。我目前有

str.replace('A', '1').replace('B', '2').replace('c', '3')....

我知道我可以创建一个映射,将字符替换为键,将替换字符替换为值,并迭代替换每个匹配项。我想知道是否有更短的方法使用一些正则表达式或我不知道的String类中的方法。像

str.replaceEach([ABC],[123])

1 个答案:

答案 0 :(得分:4)

我认为您可以从标准库中使用一个库,但是可以从apache replaceChars库中使用StringUtils,可以在here中找到这些文档。 / p>

public static String replaceChars(String str,
                              String searchChars,
                              String replaceChars)
  

一次替换一个字符串中的多个字符。此方法也可以用于删除字符。

文档中列出了一些示例,这些示例显示了您想做什么。