如何从url字符串中获取最后一个'/'(斜杠)之后的所有字符?
当我对某个网站进行webview请求时,我从我的URL方案中接收到一个json字符串。例如:
应用程序://ga/电子商务/%7B%22产品%22:%22游戏机4%22 ...}]
我想获取last'/'(斜杠)后面的子字符串。
我怎样才能做到呢?请问正则表达式的格式是什么?
避免使用
NSRange lastDotRange = [sURL rangeOfString:@"/" options:NSBackwardsSearch];
因为我可能在我的json中逃脱了'/'。
谢谢你。
6条答案
按热度按时间suzh9iv81#
对于Swift 3,试试这个。
输出:“此处”
yjghlzjz2#
试试这个:
2mbi3lxu3#
创建一个NSURL并使用NSURL方法,如lastPathComponent或parameterString。这些方法可能由知道如何处理URL的人编写。
qybjjes14#
您可以拆分数组中的字符串并从数组中获取最后一个对象,如下所示:
ulydmbyx5#
您需要的正则表达式如下所示:
((\/){1}([a-z\-]*))$
它将匹配一个斜杠,所有的小写字母和连字符。你可以在那里添加更多的字符,像A-Z的大写字母(等),和'$'的地方匹配它从字符串的结尾,
9wbgstp76#
看起来在shouldStartLoadWithRequest委托中使用正则表达式是相当昂贵的,特别是如果你有一个混合应用程序,它有很多网页视图。我的一些网页视图中可能有多个请求,一些在后台运行。如果每次网页视图加载请求时,网页视图都会触发正则表达式代码,这是很痛苦的。
另外,我在最后一个组件参数(json字符串)中转义了“/”,这可能会导致lastComponent在转义的“/”字符后中断。
因此,我坚持使用if-else语句进行代码过滤,并将字符串与URL的组成部分进行比较,例如
还发现@Nitin Gohel很有用。