我有一个字符串 Hello-World-Test,我只想用第一个破折号拆分这个字符串。
字符串 1:你好 字符串 2:世界测试
最好的方法是什么?我现在正在做的是使用 componentsSeparatedByString,获取数组中的第一个对象并将其设置为 String 1,然后使用 String 1 的长度作为起始索引执行子字符串。
谢谢!
最佳答案
我在 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
关于ios - 拆分 NSString 并限制响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14252029/