Java REGEX.replaceall()不处理特定的JSON对象(转换为字符串)
我试图删除JSON对象中的所有斜杠,然后将其添加到数组列表中。不管我在正则表达式中键入什么,下面是它的外观: 我还想删除括号和重复字符串,但即使尝试删除斜杠也不起作用,所以我正在尝试构建它。作为一个测试,我尝试替换字符串中的任何内容,但无论我选择什么(甚至字母数字),它都不起作用 类别列表中项目的输出示例: “[\'地中海\',\'地中海\',[\'希腊\',\'希腊\']”Java REGEX.replaceall()不处理特定的JSON对象(转换为字符串),java,json,regex,Java,Json,Regex,我试图删除JSON对象中的所有斜杠,然后将其添加到数组列表中。不管我在正则表达式中键入什么,下面是它的外观: 我还想删除括号和重复字符串,但即使尝试删除斜杠也不起作用,所以我正在尝试构建它。作为一个测试,我尝试替换字符串中的任何内容,但无论我选择什么(甚至字母数字),它都不起作用 类别列表中项目的输出示例: “[\'地中海\',\'地中海\',[\'希腊\',\'希腊\']” private static final ArrayList BusinessIDList=new ArrayList(
private static final ArrayList BusinessIDList=new ArrayList();
私有静态ArrayList RatingList=新ArrayList();
私有静态ArrayList cityList=新ArrayList();
私有静态ArrayList stateList=新ArrayList();
私有静态ArrayList addressList=新ArrayList();
私有静态ArrayList categoryList=新ArrayList();
私有静态ArrayList phoneList=新建ArrayList();
私有静态ArrayList nameList=新ArrayList();
私有静态无效queryAPI(YelpAPI YelpAPI,Yelpapici Yelpapici){
String searchResponseJSON=yelpApi.searchForBusinessesByLocation(yelpapicil.term,yelpapicil.location);
JSONParser=新的JSONParser();
JSONObject响应=null;
试一试{
response=(JSONObject)parser.parse(searchResponseJSON);
}捕获(解析异常pe){
System.out.println(“错误:无法解析JSON响应:”);
System.out.println(searchResponseJSON);
系统出口(1);
}
JSONArray业务=(JSONArray)response.get(“业务”);
对于(int i=0;i
您没有将tempCat
赋值给replaceAll
的返回值。
尝试更改:
tempCat.replaceAll("\\\\\\\\", " ");
到
有关replaceAll
方法的更多信息,请参阅:
编辑:抱歉,已使用正确的链接更新。您没有将
tempCat
分配给replaceAll
的返回值。
尝试更改:
tempCat.replaceAll("\\\\\\\\", " ");
到
有关replaceAll
方法的更多信息,请参阅:
编辑:抱歉,使用正确的链接进行了更新。让我们保持简单;
String t=“[[\\\\\\\”Med\\\\”];t=t.replaceAlll(“\\\\”,”);System.out.println(t)
我无法重现您的问题,但是您的代码不完整,无法单独运行。请您发布一个重现问题的日志,好吗?请稍等,很抱歉。新代码肯定不是最小的,也不是完整的。如果您想让人帮助您,您必须提供代码和输入数据,以便(轻松地)重现问题runnable无法重现该问题。请仔细阅读帮助页。我的意思是,只有您可以修复代码。您提出了一个问题,询问为什么某个模式没有按预期匹配或替换,然后您展示了一个示例,其中我们看到了一个模式,您告诉我们输入是什么,然后声明输出没有更改。好吧,请尝试一行。全部由它自己。System.out.println(“[[\\\\\”我知道,\\\\\\\\\\”,\\\\\\\\\\\\\\”);
我想你会发现你的问题与模式无关,也与replaceAll
无关,而是在其他地方。让我们保持这个简单;字符串t=“[\\\\\\\\\\\\\\\”Med\\\\\\\\”,“];t=t.replaceAlll(“,”);System.out.println(t)
我无法重现您的问题,但是您的代码不完整,无法单独运行。请您发布一个重现问题的日志,好吗?请稍等,很抱歉。新代码肯定不是最小的,也不是完整的。如果您想让人帮助您,您必须提供代码和输入数据,以便(轻松地)重现问题runnable无法重现该问题。请仔细阅读帮助页。我的意思是,只有您可以修复代码。您提出了一个问题,询问为什么某个模式没有按预期匹配或替换,然后您展示了一个示例,其中我们看到了一个模式,您告诉我们输入是什么,然后声明输出没有更改。好吧,请尝试一行.All本身。System.out.println(“[[\\\\”我知道\\”,\\\\“正在做什么\\”]]”。replaceAll(“\\\\”,”)
我想你会发现你的问题与模式无关,也不是replaceAll
而是在其他地方。那一个没有雪茄烟。很抱歉,我之前删除了它以尝试作为可能的解决方案。那一个没有雪茄烟。很抱歉,我之前删除了它以尝试作为可能的解决方案。
tempCat = tempCat.replaceAll("\\\\\\\\", " ");