下面是用逗号分隔的字符串的两个例子,我回来的结果逗号列提取:的NSString:从分离的NSString
NSString *placeResult = @"111 Main Street, Cupertino, CA"
或有时结果包含地名:
NSString *placeResult = @"Starbucks, 222 Main Street, Cupertino, CA"
检查上面的字符串以查看它是以名称还是街道地址开头的最佳方法是什么? 。
如果它以一个名称(即星巴克在上面的第二实施例“)开始,我想提取的名称,并将其存储到另一个可变因此提取后的字符串将是:
NSLog (@"%s", placeResult);
日志会打印:
"222 Main Street, Cupertino, CA"
另一个字符串现在将存储@ “星巴克” 在它:
NSLog (@"%s", placeName);
日志将打印:
"Starbucks"
重要提示:我不能在提取后失去逗号分隔。
谢谢!
非常简洁明智的做法。我不知道你可以做NSTextCheckingTypeAddress。问题:如果NSTextCheckingNameKey是空白的,为什么我需要检查比赛的范围? – user1107173 2013-04-24 22:49:33
看看我的答案中的例子。该地址不包含名称“星巴克”。由于“NSTextCheckingNameKey”没有值,所以您需要查看字符串开头是否真的有名称。你可以通过查看比赛的范围来做到这一点。如果它不是零,那么你可以假定字符串的开始直到那个匹配范围是一个被忽视的名字。但是,这一切都取决于你需要解析的字符串。 – rmaddy 2013-04-24 22:53:41
对不起,我还是很困惑。我试图从谷歌地点自动填充。它以我的问题的格式返回地址。我刚刚运行了你的代码,你说得对,没有提及“星巴克”。你能否详细说明一下:“看看字符串的开头是否有名字,你可以通过查看匹配的范围来做到这一点,如果它不是零,那么你可以假设字符串的起始位置是匹配范围是一个被忽视的名字。“在这一点上,我只是试图解析(@“星巴克,加利福尼亚州库比蒂诺市222大街”);显然,星巴克是第一个字符串。 – user1107173 2013-04-24 23:46:36