我正在将URL中的数据转换为String a,并将此字符串作为参数传递给gson的fromJson方法。现在我需要替换字符串a中的一些子字符串。
String url = "abc";
String a = getDataFromURL(url); //this string contains all the data from the URL, and getDataFromURL is the method that reads the data from the URL.
String tmp = "\"reservation\":\"www.\"";
String tmpWithHttp = "\"reservation\":\"http://www.\"";
if(a.contains(tmp))
{
a = a.replace(a, tmpWithHttp);
}
网址中的所有数据均为JSON。我在这里的要求是,如果字符串a包含子字符串 - "reservation":"www.
,请将其替换为"reservation":"http://www.
上面的代码我没有用。有人可以帮我吗?
答案 0 :(得分:3)
你可能意味着:
a = a.replace(tmp, tmpWithHttp);
而不是:
a = a.replace(a, tmpWithHttp);
在更换之前,您无需进行contains()
检查。仅当要替换的子字符串存在时,String#replace
方法才会替换。因此,您可以移除周围的if
。
答案 1 :(得分:2)
在您的问题中,您指定要替换"reservation":"www.
。但是,在您的代码中,您添加了一个额外的转义引号,导致替换搜索"reservation":"www."
,这不在字符串中。
只需删除最后一个转义引用:
String tmp = "\"reservation\":\"www.";