Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/unity3d/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 删除特殊字符时,replaceAll函数不工作_Android_Json_String_Replace - Fatal编程技术网

Android 删除特殊字符时,replaceAll函数不工作

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("\\'"),

我正在处理一个项目,其中一些数据是通过JSON解析检索的。不幸的是,无效字符“\”转义。我需要把它们去掉。我试着调用
.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()用于替换正则表达式。

谢谢您提供的信息。但它仍然不适用于\'。不管怎样,我的问题被澄清了。谢谢你提供的信息。但它仍然不适用于\'。不管怎样,我的问题被澄清了。