如何计算NSString中的字符数,直到分号为止

时间:2013-06-24 03:22:39

标签: ios objective-c nsstring

我在NSDictionary中有一个字符串值,看起来像这样

Rule = "K-------;-KKCT---";

所以,如果我做这样的事情

NSString *tempString = [NSString alloc] init];
tempString = [myDictionary objectForKey:@"Rule"];

tempString现在有以下值“K -------; - KKCT ---”,我想知道如何计算在这种情况下分号有多少个字符。 / p>

3 个答案:

答案 0 :(得分:3)

NSString的以下方法正是您要找的

- (NSRange)rangeOfString:(NSString *)aString

这将获得您提供的第一个字符串实例的“范围”(在本例中为分号)

答案 1 :(得分:2)

尝试一下:

NSString *tempString = myDictionary[@"Rule"];
NSUInteger count = [tempString rangeOfString:@";"].location;
if (count == NSNotFound) {
    count = 0;
}

请注意,您不应仅为了从字典中为变量分配另一个值而分配空字符串。

如果字符串中没有分号,则结果将是NSNotFound的特殊值。上面的代码将其转换为0计数。根据需要调整此逻辑。

答案 2 :(得分:0)

您也可以这样做:

NSArray *subStrings = [tempString componentsSeparatedByString: @";"];
int firstStringLength = [[subStrings objectAtIndex: 0] length];

如果你需要找到所有子串的长度,你只需循环遍历数组。