0

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

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

所以如果我做这样的事情

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

tempString 现在具有以下值“K-------;-KKCT---”,然后我想知道在这种情况下如何计算分号之前有多少个字符 8。

4

3 回答 3

3

以下方法NSString是您正在寻找的

- (NSRange)rangeOfString:(NSString *)aString

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

于 2013-06-24T03:24:21.703 回答
2

试试这个:

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

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

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

于 2013-06-24T03:29:18.300 回答
0

你也可以这样做:

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

如果您需要查找所有子字符串的长度,您只需遍历数组即可。

于 2013-06-24T15:24:22.263 回答