我在 a 中有一个字符串值NSDictionary
,看起来像这样
Rule = "K-------;-KKCT---";
所以如果我做这样的事情
NSString *tempString = [NSString alloc] init];
tempString = [myDictionary objectForKey:@"Rule"];
tempString 现在具有以下值“K-------;-KKCT---”,然后我想知道在这种情况下如何计算分号之前有多少个字符 8。
我在 a 中有一个字符串值NSDictionary
,看起来像这样
Rule = "K-------;-KKCT---";
所以如果我做这样的事情
NSString *tempString = [NSString alloc] init];
tempString = [myDictionary objectForKey:@"Rule"];
tempString 现在具有以下值“K-------;-KKCT---”,然后我想知道在这种情况下如何计算分号之前有多少个字符 8。
以下方法NSString
是您正在寻找的
- (NSRange)rangeOfString:(NSString *)aString
这将获得您提供的字符串的第一个实例的“范围”(在本例中为分号)
试试这个:
NSString *tempString = myDictionary[@"Rule"];
NSUInteger count = [tempString rangeOfString:@";"].location;
if (count == NSNotFound) {
count = 0;
}
请注意,您不应该分配一个空字符串只是为了从字典中为变量分配另一个值。
如果字符串中没有分号,则结果将是 的特殊值NSNotFound
。上面的代码将其转换为 0。根据需要调整此逻辑。
你也可以这样做:
NSArray *subStrings = [tempString componentsSeparatedByString: @";"];
int firstStringLength = [[subStrings objectAtIndex: 0] length];
如果您需要查找所有子字符串的长度,您只需遍历数组即可。