【发布时间】:2023-03-16 11:37:01
【问题描述】:
我有以下网址:
http:////www.test.com//test
我想用单斜杠替换双斜杠,用两个斜杠替换四个斜杠,即输出是这样的:
http://www.test.com/test
【问题讨论】:
-
.replace("//", "/")有效。如果您打算进一步使用它,请不要忘记分配给变量(s = s.replace("//", "/");)
我有以下网址:
http:////www.test.com//test
我想用单斜杠替换双斜杠,用两个斜杠替换四个斜杠,即输出是这样的:
http://www.test.com/test
【问题讨论】:
.replace("//", "/") 有效。如果您打算进一步使用它,请不要忘记分配给变量(s = s.replace("//", "/");)
String sURL="http:////www.test.com//test";
sURL=sURL.replace("////","/x/x/x/x");
sURL=sURL.replace("//","/");
sURL=sURL.replace("/x/x/x/x","//");
/x/x/x/x 只是一个任意字符串,保证不会在 URL 中自然遇到。它“隐藏”了四个斜线,不会被 sURL.replace("//","/"); 替换
你可以试试:
String sURL="http:////www.test.com//test";
sURL=sURL.replace("//","/");
但我不知道这是否会将所有四个斜线变成一个斜线,而且我没有方便的平台进行测试。
编辑:添加了sURL= 以使其“按原样”正常工作,而不是示例。我还看到关于替换的相互冲突的帖子(有些帖子使用字符串,而其他帖子只使用单个字符)而且我没有测试平台,所以replace 可能需要replaceAll
【讨论】:
myString.replace("//", "/"); 应该可以工作
【讨论】:
String s1 = "http:////www.test.com//test.";
s1 = s1.replaceAll("//", "/");
replaceAll 方法适用于正则表达式,但最简单的正则表达式只是字符串本身 - 这里是“//”。
【讨论】: