我的输入t%60hiag%2Fra%2Cjan
我希望将其转换为t%60hiag%2fra%2cjan


我想将%2F替换为%2f。即0-9之间的任何数字,再加上A-F中的大写字母,都应转换为小写字母。

我能够提取并替换为通用字符串。但是我需要帮助将提取的字符串替换为小写。

  private static String urlEncodeLowerCase(String stringInput)
  {
    stringInput = stringInput.replaceAll("%[0-9]{1}[A-F]{1}", "T");
    return stringInput;
  }


上面的代码将提取提取的字符串并将其替换为“ T”,但是我想要类似的内容

stringInput = stringInput.replaceAll("%[0-9]{1}[A-F]{1}", "%[0-9]{1}[A-Z]{1}".toLowerCase);


上面的代码不起作用。这只是为了让您了解我的要求。

最佳答案

尝试这个

private static String urlEncodeLowerCase(String stringInput) {
    Pattern pattern = Pattern.compile("%[0-9]{1}[A-Z]{1}");
    Matcher matcher = pattern.matcher(stringInput);
    while (matcher.find()) {
        String s = matcher.group();
        stringInput = stringInput.replace(s, s.toLowerCase());
    }
    return stringInput;
}

10-06 09:27