统计NSString中2个单词之间的所有字符



是否可以计算NSString中两个单词之间的字符数?这是字符串

NSString *myString = [NSString stringWithFormat:@"This is a test string."];

我想计算单词"This"和单词"string"之间的字符数。

这可能是吗

您可以这样做:

NSString *myString = [NSString stringWithFormat:@"This is a test string."];
NSInteger charCountBetween = -1;
NSRange thisRange = [myString rangeOfString:@"This"];
NSRange stringRange = [myString rangeOfString:@"string"];
if( thisRange.location != NSNotFound && stringRange.location != NSNotFound )
{
    charCountBetween = fabs(thisRange.location - stringRange.location);
    if( thisRange.location > stringRange.location )
    {
        charCountBetween -= stringRange.length;
    }
    else
    {
        charCountBetween -= thisRange.length;
    }
}

您必须首先找到范围并从中获取子字符串

NSString *myString = [NSString stringWithFormat:@"This is a test string."];
NSRange range1 = [myString rangeOfString:@"This"];
NSRange range2 = [myString rangeOfString:@"string"];
NSRange rangeSubString = NSMakeRange(range1.location + range1.length, range2.location - range1.location - range1.length);
NSString *subString = [myString substringWithRange:rangeSubString];

然后你可以计算这个字符串的字符

NSUInteger characterCount = [subString length];
NSString *myString = @"This is a test !";
NSRange match = [myString rangeOfString: @"This"];
NSRange match1 = [myString rangeOfString: @"test"];
int nbChar = match1.location - match.location;

这就是你要找的吗?

试试这个:

NSString *string = @"This is a test string";
NSRange firstRange = [string rangeOfString:@"This"];
NSRange secondRange = [string rangeOfString:@"string"];
if (firstRange.location != NSNotFound &&
    secondRange.location != NSNotFound &&
    secondRange.location > firstRange.location) {
    NSLog(@"Characters between: %d", secondRange.location - (firstRange.location + firstRange.length));
}

您需要使用NSRange:

NSRange range1 = [myString rangeOfString:@"This"];
NSRange range2 = [myString rangeOfString:@"string"];
NSUInteger numberOfChars = range2.location - range1.location; 

最新更新