java 查找并替换 %
java find and replace %
在 java 1.8.0 中
我正在尝试替换 %,但它不匹配
String str = "%28Sample text%29";
str.replaceAll("%29", "\)");
str.replaceAll("%28", "\(");
System.out.println("Replaced string is " + str);
我已经尝试了所有这些Replace symbol "%" with word "Percent" 对我来说没有任何效果。提前致谢。
它正在工作。
您需要重新分配给 str
str = str.replaceAll("%29", "\)");
str = str.replaceAll("%28", "\(");
正确。
但是您可以简单地通过使用 URLDecoder
解码那些 unicode 值来做到这一点。
String s = "%28Hello World!%29";
s = URLDecoder.decode(s, "UTF-8");
System.out.println(s);
将输出:
(Hello World!)
问题是你误解了replaceall
的用法。它用于基于正则表达式的替换。你需要使用的是像这样的正常 replace
方法:
String str = "%28Sample text%29";
str=str.replace("%29", "\)"). replace("%28", "\(");
System.out.println("Replaced string is " + str);
在 java 1.8.0 中 我正在尝试替换 %,但它不匹配
String str = "%28Sample text%29";
str.replaceAll("%29", "\)");
str.replaceAll("%28", "\(");
System.out.println("Replaced string is " + str);
我已经尝试了所有这些Replace symbol "%" with word "Percent" 对我来说没有任何效果。提前致谢。
它正在工作。
您需要重新分配给 str
str = str.replaceAll("%29", "\)");
str = str.replaceAll("%28", "\(");
但是您可以简单地通过使用 URLDecoder
解码那些 unicode 值来做到这一点。
String s = "%28Hello World!%29";
s = URLDecoder.decode(s, "UTF-8");
System.out.println(s);
将输出:
(Hello World!)
问题是你误解了replaceall
的用法。它用于基于正则表达式的替换。你需要使用的是像这样的正常 replace
方法:
String str = "%28Sample text%29";
str=str.replace("%29", "\)"). replace("%28", "\(");
System.out.println("Replaced string is " + str);