拆分NSString并限制响应

Miu*_*Miu 3 nsstring ios

我有一个字符串Hello-World-Test,我想只用第一个破折号拆分这个字符串.

字符串1:Hello String 2:World-Test

做这个的最好方式是什么?我现在正在做的是使用componentsSeparatedByString,获取数组中的第一个对象并将其设置为String 1,然后使用String 1的长度作为起始索引执行substring.

谢谢!

Max*_*iel 5

我在NSString给定字符串的第一次出现时添加了一个类别.将结果返回到数组中可能并不理想,但是看起来很好.它只使用NSString方法rangeOfString:,它取一个NSString(B)并返回NSRange显示字符串(B)所在的位置.

@interface NSString (Split)

- (NSArray *)stringsBySplittingOnString:(NSString *)splitString;

@end

@implementation NSString (Split)

- (NSArray *)stringsBySplittingOnString:(NSString *)splitString
{
    NSRange range = [self rangeOfString:splitString];
    if (range.location == NSNotFound) {
        return nil;
    } else {
        NSLog(@"%li",range.location);
        NSLog(@"%li",range.length);
        NSString *string1 = [self substringToIndex:range.location];
        NSString *string2 = [self substringFromIndex:range.location+range.length];
        NSLog(@"String1 = %@",string1);
        NSLog(@"String2 = %@",string2);
        return @[string1, string2];
    }
}

@end
Run Code Online (Sandbox Code Playgroud)