Android 删除特殊字符时,replaceAll函数不工作
我正在处理一个项目,其中一些数据是通过JSON解析检索的。不幸的是,无效字符“\”转义。我需要把它们去掉。我试着调用Android 删除特殊字符时,replaceAll函数不工作,android,json,string,replace,Android,Json,String,Replace,我正在处理一个项目,其中一些数据是通过JSON解析检索的。不幸的是,无效字符“\”转义。我需要把它们去掉。我试着调用.replace(“\\”,“\”)。这个解决方案不起作用。不会引发异常,但字符串不会更改。这是我的密码: shop_name = c.getString(TAG_SHOP_NAME); if(shop_name.contains("\\'")==true) { //try{ shop_name=shop_name.replaceAll(Pattern.quote("\\'"),
.replace(“\\”,“\”)代码>。这个解决方案不起作用。不会引发异常,但字符串不会更改。这是我的密码:
shop_name = c.getString(TAG_SHOP_NAME);
if(shop_name.contains("\\'")==true)
{
//try{
shop_name=shop_name.replaceAll(Pattern.quote("\\'"), "'");
Log.e("vvvvvv","new shop name: "+shop_name);}
//catch(Exception q){Log.e(TAG+" vvvv","EXPTN",q);}
}
send JSON object is: Bimal\'s
required object: Bimal's
请告诉我是否在某个地方出错,或者是否存在除replaceAll以外的任何其他方法。您需要对反斜杠进行双重转义,因为它在字符串和正则表达式中都是转义字符:
shop_name.replaceAll("\\\\'", "'");
或者不使用正则表达式(在这种情况下不需要):
您需要对反斜杠进行双重转义,因为它在字符串和正则表达式中都是转义字符:
shop_name.replaceAll("\\\\'", "'");
或者不使用正则表达式(在这种情况下不需要):
将元字符“转义为“\”:
string.replaceAll(“\”,“);
请记住将其分配回字符串引用,因为它返回一个新的字符串对象
您应该改用replace():
str=str.replace(“\”,”);
replaceAll()用于替换正则表达式。将元字符“转义为”\”:
string.replaceAll(“\”,“);
请记住将其分配回字符串引用,因为它返回一个新的字符串对象
您应该改用replace():
str=str.replace(“\”,”);
replaceAll()用于替换正则表达式。谢谢您提供的信息。但它仍然不适用于\'。不管怎样,我的问题被澄清了。谢谢你提供的信息。但它仍然不适用于\'。不管怎样,我的问题被澄清了。