Java 创建url时如何转义反斜杠

Java 创建url时如何转义反斜杠,java,android,regex,Java,Android,Regex,我有一个字符串s=“sunil\”和t=“sunil/” 当我从字符串创建URI时,会得到一些异常值 http://admin:sunil%5c 所以我的url没有正确执行 我希望我的url是http://admin:sunil\或http://admin:sunil/ 我的URL创建如下所示: 其中,在我的密码字符串中包含“\”字符。因此,它无法正确创建URL 请提供创建url时如何在字符串中保留\和/的信息 我不知道是否必须在字符串中使用replace()。这可以省去很多麻烦 Strin

我有一个字符串
s=“sunil\”
t=“sunil/”

当我从字符串创建URI时,会得到一些异常值

http://admin:sunil%5c 
所以我的url没有正确执行

我希望我的url是
http://admin:sunil\
http://admin:sunil/

我的URL创建如下所示:

其中,在我的密码字符串中包含“\”字符。因此,它无法正确创建URL

请提供创建url时如何在字符串中保留
\
/
的信息

我不知道是否必须在字符串中使用replace()。这可以省去很多麻烦

String s = "sunil\\";
String t = "sunil/";
assertEquals("http://admin:sunil\\",
                new Uri.Builder().scheme("http").authority("admin:" + s).build().toString());
assertEquals("http://admin:sunil/",
                new Uri.Builder().scheme("http").authority("admin:" + t).build().toString());

为什么要将
“sunil\”
分配给变量。如何创建url?两个所需的URI都无效。您有2个协议,其中应该只有1个。并且\不是一个有效的字符,而是一个URI。为什么您认为
http://admin:sunil/
是有效的URL吗?我正在使用用户ID创建URL:password@host:端口。。。。其中密码字符串包含“\”字符。因此,当我构建url时,它会将“\”替换为%50C,因此url将变得无效且不可执行。我正在使用userid创建url:password@host:端口。。。。其中密码字符串包含“\”字符。因此,当我构造url时,它会将“\”替换为%50C,因此url变得无效且不可执行