java查找和替换%
在Java1.8.0中 我正在尝试替换%,但它不匹配java查找和替换%,java,string,replaceall,Java,String,Replaceall,在Java1.8.0中 我正在尝试替换%,但它不匹配 String str = "%28Sample text%29"; str.replaceAll("%29", "\\)"); str.replaceAll("%28", "\\("); System.out.println("Replaced string is " + str); 我试过所有这些,但都没用。提前谢谢。它正在工作。 您需要重新分配到str str = str.replaceAll("%29", "\
String str = "%28Sample text%29";
str.replaceAll("%29", "\\)");
str.replaceAll("%28", "\\(");
System.out.println("Replaced string is " + str);
我试过所有这些,但都没用。提前谢谢。它正在工作。
您需要重新分配到str
str = str.replaceAll("%29", "\\)");
str = str.replaceAll("%28", "\\(");
它起作用了。
您需要重新分配到str
str = str.replaceAll("%29", "\\)");
str = str.replaceAll("%28", "\\(");
这是正确的
但您只需使用urldecker
对这些unicode值进行解码即可
String s = "%28Hello World!%29";
s = URLDecoder.decode(s, "UTF-8");
System.out.println(s);
将输出:
(世界你好!)
这是正确的
但您只需使用urldecker
对这些unicode值进行解码即可
String s = "%28Hello World!%29";
s = URLDecoder.decode(s, "UTF-8");
System.out.println(s);
将输出:
(世界你好!)
问题是您误解了
replaceall
的用法。它用于基于正则表达式的替换。您需要使用的是正常的replace
方法,如下所示:
String str = "%28Sample text%29";
str=str.replace("%29", "\\)"). replace("%28", "\\(");
System.out.println("Replaced string is " + str);
问题是您误解了
replaceall
的用法。它用于基于正则表达式的替换。您需要使用的是正常的replace
方法,如下所示:
String str = "%28Sample text%29";
str=str.replace("%29", "\\)"). replace("%28", "\\(");
System.out.println("Replaced string is " + str);
如果实际上不需要匹配正则表达式,请使用
replace
。replaceAll
不会对原始字符串
对象进行任何更改。相反,结果将作为新的String
对象返回。如果您实际上不需要匹配正则表达式,请使用replace
。replaceAll
不会对原始String
对象进行任何更改。相反,结果将作为新的字符串
对象返回。