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), где я храню каждый уникальный символ (значение char равноиндекс Array) и у меня также есть массив TextField (tReplace), здесь я записываю строку замены (которая может быть несколькими символами) для каждого символа в lChar (значение char из «старого» символа - это индекс массива).
Итак, теперь я хочу заменить каждый символ в lChar на каждый символ в tReplace.Если я хочу заменить «1» на «2» и «2» на «1» для строки «12», я получаю «11», потому что в первом цикле он заменяет его на «22», а в следующем циклеизменяет его на «11».НО я хочу изменить каждую букву только один раз, как если бы я написал
String.valueOf(21).replace("2","1").replace("1","2");
Есть идеи, как это сделать?