【发布时间】:2010-09-06 07:55:23
【问题描述】:
我有一个这样的 NSString:
456673\t某事
但我只想提取一些东西...... 所有数据都必须是这种格式....
xxxx\tyyyy 如何根据 \t 拆分它?谢谢你。
【问题讨论】:
标签: objective-c nsstring
我有一个这样的 NSString:
456673\t某事
但我只想提取一些东西...... 所有数据都必须是这种格式....
xxxx\tyyyy 如何根据 \t 拆分它?谢谢你。
【问题讨论】:
标签: objective-c nsstring
您可能正在寻找这个实例方法:
- (NSArray *)componentsSeparatedByString:(NSString *)separator
如果这不能满足您的需求并且您想要更强大的东西,我可以个人推荐RegexKitLite。 RegexKitLite 以类别的形式将正则表达式的功能添加到 NSString 中。
【讨论】:
为方便起见,我在 NSString 中添加了一个类别(类:NSString+Utility):
- (NSString *)substringFromFirstOccurenceOfString:(NSString *)string {
NSRange range = [self rangeOfString:string];
if (range.location != NSIntegerMax) {
int index = range.location + range.length;
return [self substringFromIndex:index];
} else {
return self;
}
}
- (NSString *)substringFromLastOccurenceOfString:(NSString *)string {
NSRange range = [self rangeOfString:string options:NSBackwardsSearch];
if (range.location != NSIntegerMax) {
int index = range.location + range.length;
return [self substringFromIndex:index];
} else {
return self;
}
}
- (NSString *)substringToFirstOccurenceOfString:(NSString *)string {
NSRange range = [self rangeOfString:string];
if (range.location != NSIntegerMax) {
int index = range.location + range.length;
return [self substringToIndex:index];
} else {
return self;
}
}
- (NSString *)substringToLastOccurenceOfString:(NSString *)string {
NSRange range = [self rangeOfString:string options:NSBackwardsSearch];
if (range.location != NSIntegerMax) {
int index = range.location;
return [self substringToIndex:index];
} else {
return self;
}
}
【讨论】: