Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 获取应用程序&x27;iTunes URL字符串中的s ID号_Ios_Regex_String_Swift - Fatal编程技术网

Ios 获取应用程序&x27;iTunes URL字符串中的s ID号

Ios 获取应用程序&x27;iTunes URL字符串中的s ID号,ios,regex,string,swift,Ios,Regex,String,Swift,我需要找到一种从iTunesURL解析应用程序ID号的方法。例如,这个URL- 能给我这个-1021402097吗 我在考虑用不同的方法来处理字符串拆分之类的事情,但它们看起来都有点不太对劲。我想我可以在“id”之后拆分字符串,并在10位之后结束拆分,但将来id可能会增加到11位 有谁对使用正则表达式或其他东西有更好的想法吗?如果您可以做出以下假设: id将只包含数字 数字的数量(目前为10)只会增加 在url中,id..部分包含该id 然后,您可以使用一个简单的正则表达式,例如:id([

我需要找到一种从iTunesURL解析应用程序ID号的方法。例如,这个URL-

能给我这个-1021402097吗

我在考虑用不同的方法来处理字符串拆分之类的事情,但它们看起来都有点不太对劲。我想我可以在“id”之后拆分字符串,并在10位之后结束拆分,但将来id可能会增加到11位


有谁对使用正则表达式或其他东西有更好的想法吗?

如果您可以做出以下假设:

  • id将只包含数字
  • 数字的数量(目前为10)只会增加
  • 在url中,
    id..
    部分包含该id

然后,您可以使用一个简单的正则表达式,例如:
id([\d]{10,})
,其中您的id将在组1中捕获。工作示例:

不需要使用正则表达式或进行任何奇特的解析。将URL放入
NSURL
中。然后获取
NSURL
lastPathComponent
。这将为您提供
id1021402097
部分

现在只需从索引2开始获取子字符串,就可以得到
1021402097

let url = NSURL(string:"https://itunes.apple.com/gb/app/mouse-times-florida/id1021402097?mt=8")
let idStr = url!.lastPathComponent!
let appId = idStr.substringFromIndex(idStr.startIndex.advancedBy(2))

我对Swift不太熟练,所以你需要正确处理选项。

我喜欢你的解决方案考虑到子串大小的有机增长。你不能假设最小长度为10。例如有9个。