嵌入特殊字符的url的java.lang.IllegalArgumentException

嵌入特殊字符的url的java.lang.IllegalArgumentException,java,android,regex,string,url,Java,Android,Regex,String,Url,java.lang.IllegalArgumentException: 索引49处的查询中存在非法字符:http://download.finance.yahoo.com/d/quotes.csv?s=?^NDX,^BANK&f=nsl1opc1 我在“插入符号”(^)符号上收到格式错误的url异常。我知道插入符号在正则表达式中大量使用,在其他情况下,该字符会从所需字符串中删除 这不可能有带有插入符号(^)符号的字符串/URL吗 在上述情况下,要检索索引数据,我需要使用该符号。在查询字符串部分使

java.lang.IllegalArgumentException: 索引49处的查询中存在非法字符:
http://download.finance.yahoo.com/d/quotes.csv?s=?^NDX,^BANK&f=nsl1opc1

我在“插入符号”(^)符号上收到格式错误的url异常。我知道插入符号在正则表达式中大量使用,在其他情况下,该字符会从所需字符串中删除

这不可能有带有
插入符号(^)
符号的字符串/URL吗


在上述情况下,要检索索引数据,我需要使用该符号。

在查询字符串部分使用插入符号确实是不合法的

改为使用
URI
的构造函数:

final URL url = new URI("http", "download.finance.yahoo.com", "/d/quotes.csv",
    "s=?^NDX,^BANK&f=nsl1opc1", null).toURL();
这将为您解决所有必要的编码问题


请参阅。

也许您应该选择角色。插入符号的代码是
%5E
。请尝试对url%5E进行编码,因为它正在打印,没有理由不起作用。试试看;)旁注:如果您有许多URL要以这种方式构建,我的一个项目可能会很有用: