目前我正在尝试从RSS提要中获取嵌入的URL。因此,最初的URL中包含特殊字符如下所示:以基于特殊字符的Android拆分字符串
http://www.facebook.com/1.php?&...http://www.example.com...&“
我使用String.split(expression)
功能拆分并获得像http://www.example.com
但是对于特殊的表情‘’我不能?分割字符串。
是否有任何其他方式基于特殊字符分割字符串?
在此先感谢
目前我正在尝试从RSS提要中获取嵌入的URL。因此,最初的URL中包含特殊字符如下所示:以基于特殊字符的Android拆分字符串
http://www.facebook.com/1.php?&...http://www.example.com...&“
我使用String.split(expression)
功能拆分并获得像http://www.example.com
但是对于特殊的表情‘’我不能?分割字符串。
是否有任何其他方式基于特殊字符分割字符串?
在此先感谢
String.split需要一个正则表达式的参数。由于?
是一个特殊字符在正则表达式,做你想做什么,你居然把它写成:
myStr.split("\\?");
并因此将其识别为文字?
,而不是作为一个特殊的正则表达式字符。
请注意,需要两个反斜杠。正则表达式本身是"\?"
,但由于要将"\"
放入java字符串中,我们需要将它写为"\\"
,因此表达式字符串将变为"\\?"
。
要了解有关正则表达式的更多信息,我建议您查看this site。
这是一个uri,符合标准的URI语义。因此,您可以使用Android中的标准Uri表示之一为您完成繁重工作。您的Uri在?
字符之后包含一个查询字符串,该字符串跟在Uri的主要部分之后,并由多个用&
字符分隔的键/值对组成。你只需要分析你的URI到ndroid.net.Uri
对象,然后调用getQueryParameter(String paramName)
获得您所需的查询参数:
String raw = "http://www.mydomain.com/index.html?param1=hello¶m2=world¶m3=test";
Uri uri = Uri.parse(raw);
String param = uri.getQueryParameter("param2");
这将在param
返回“世界”。