【发布时间】:2018-09-21 14:41:45
【问题描述】:
我想修改字符串中的两个字符,例如将每个'i' 更改为'e',并将每个'e' 更改为'i',这样"This is a test" 这样的文本将变为"Thes es a tist"。
我已经提出了一个可行的解决方案,但它既无聊又不优雅:
String input = "This is a test";
char a = 'i';
char b = 'e';
char[] chars = input.toCharArray();
for(int i = 0; i < chars.length; i++) {
if(chars[i] == a) {
chars[i] = b;
}else if(chars[i] == b) {
chars[i] = a;
}
}
input = new String(chars);
如何使用正则表达式来完成?
【问题讨论】:
-
@feelingunwelcome,重复是关于交换 两个 字符(改变它们的位置),而这是关于 改变 个不同的字符,而 替换 字符甚至根本不需要存在于原始字符串中。