3
Я использую регулярное выражение и строку replaceFirst, чтобы заменить шаблоны, как показано ниже.Найти и заменить шаблон строки в java
String xml = "<param>otpcode=1234567</param><param>password=abc123</param>";
if(xml.contains("otpcode")){
Pattern regex = Pattern.compile("<param>otpcode=(.*)</param>");
Matcher matcher = regex.matcher(xml);
if (matcher.find()) {
xml = xml.replaceFirst("<param>otpcode=" + matcher.group(1)+ "</param>","<param>otpcode=xxxx</param>");
}
}
System.out.println(xml);
if (xml.contains("password")) {
Pattern regex = Pattern.compile("<param>password=(.*)</param>");
Matcher matcher = regex.matcher(xml);
if (matcher.find()) {
xml = xml.replaceFirst("<param>password=" + matcher.group(1)+ "</param>","<param>password=xxxx</param>");
}
}
System.out.println(xml);
Желаемая О/р
<param>otpcode=xxxx</param><param>password=abc123</param>
<param>otpcode=xxxx</param><param>password=xxxx</param>
Фактическая о/р (заменяет всю строку в одном кадре в первой ПЧ сам по себе)
<param>otpcode=xxxx</param>
<param>otpcode=xxxx</param>
Отличный !!! Спасибо ! – RedGuts
@RedGuts Отметьте правильный ответ. – ozgur
@RedGuts без проблем человек рад, что я мог бы помочь! – brso05