【发布时间】:2011-08-07 07:30:32
【问题描述】:
String _p = p;
for(int i = 0; i <= _p.length()-1; i++)
_p = _p.replace(lChar[_p.charAt(i)].getText(), tReplace[_p.charAt(i)].getText());
tOut.append(_p);
上面是我用来替换我从 TextArea (tIn -> p) 中读出的字符串的代码,然后有一个标签数组 (lChar) 我存储每个唯一字符(字符值是数组索引) 并且我还有一个 TextField Array (tReplace) 在这里我为 lChar 中的每个 char 编写替换字符串(可以是多个字符)('old' char 中的 char 值是数组索引)。
所以现在我想用 tReplace 中的每个字符替换 lChar 中的每个字符。如果我想用“2”替换“1”,用“1”替换字符串“12”的“2”,我会得到“11”,因为在第一个循环中它将它更改为“22”,在下一个循环中它将其更改为“11”。但我只想改变每个字母一次,就好像我会写一样
String.valueOf(21).replace("2","1").replace("1","2");
任何想法如何做到这一点?
【问题讨论】:
标签: java arrays string replace char