我有一条路径,我正在以字符串的形式检索。我想将字符串分成两个不同的段,但我使用的方法给了我数组中的错误对象。
让我说我有路径:
/Country/State/
我正在检索它并尝试将这两个词分开:
NSArray *tempArray = [serverArray valueForKey:@"Location"];
NSArray *country;
for (NSString *string in tempArray) {
country = [string componentsSeparatedByString:@"/"];
NSLog(@"%@", country);
}
但是当我这样做时,我在记录它时会在数组中得到两个额外的对象:
2015-08-13 10:54:17.290 App Name[24124:0000000] (
"",
USA,
"NORTH DAKOTA",
""
)
如何获取没有特殊字符的第一个字符串,然后是第二个没有特殊字符的字符串?之后我打算使用NSScanner,但不确定是否有更有效的方式
答案 0 :(得分:1)
这是因为有/
字符的前导和尾随。
一个选项是对初始字符串进行子串,以删除前导和尾随/
字符。
示例:
NSString *location = @"/Country/State/";
location = [location substringWithRange:NSMakeRange(1, location.length-2)];
NSArray *components = [location componentsSeparatedByString:@"/"];
NSLog(@"components[0]: %@, components[1]: %@", components[0], components[1]);
NSLog(@"components: %@", components);
输出:
components[0]: Country, components[1]: State components: ( Country, State )
也不需要for循环。除非您知道原因并且需要它们,否则不要添加代码行。