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

时间:2013-05-26 18:24:34

标签: java android regex string url

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

我在“插入符号”(^)符号上获取格式错误的url异常,以便知道插入符号在正则表达式中被大量使用,而在其他情况下,此字符特别从所需的字符串中删除。

这是不可能有'caret' (^)符号

的字符串/网址

在上述检索索引数据的情况下,我需要有符号..

1 个答案:

答案 0 :(得分:2)

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

使用URI的构造函数代替:

final URL url = new URI("http", "download.finance.yahoo.com", "/d/quotes.csv",
    "s=?^NDX,^BANK&f=nsl1opc1", null).toURL();

这将为您解决所有必要的编码问题。

请参阅Javadoc