Objective c 目标C-将字符串拆分为数组

Objective c 目标C-将字符串拆分为数组,objective-c,cocoa-touch,Objective C,Cocoa Touch,我该怎么做?我不熟悉Objective-C,但我找不到任何有助于我做到这一点的东西 NSArray *splitLine = [currentLine componentsSeparatedByString:@":%@",notNumber]; 其中,notNumber是一个字符串,表示任何非数字的内容。所以我想分离一个字符串,其中冒号由非数字的字符串分隔。(我希望避免在3:00pm时拆分,但在iCal参数(如说明:和位置:)拆分)您可以通过以下几个步骤完成此操作。我还没有编译这段代码,但它至

我该怎么做?我不熟悉Objective-C,但我找不到任何有助于我做到这一点的东西

NSArray *splitLine = [currentLine componentsSeparatedByString:@":%@",notNumber];

其中,
notNumber
是一个字符串,表示任何非数字的内容。所以我想分离一个字符串,其中冒号由非数字的字符串分隔。(我希望避免在
3:00pm
时拆分,但在iCal参数(如
说明:
位置:
)拆分)

您可以通过以下几个步骤完成此操作。我还没有编译这段代码,但它至少应该让您知道该怎么做

1) 创建与分隔符匹配的正则表达式对象:

NSString *regexString = @"DESCRIPTION:\s|LOCATION:\s"; // or whatever makes sense for your scenario
NSRegularExpression *regex =
[NSRegularExpression regularExpressionWithPattern:regexString
                                          options:NSRegularExpressionCaseInsensitive
                                            error:nil];
2) 用一个分隔符替换与正则表达式匹配的所有不同分隔符:

NSRange range = NSMakeRange(0, string.length);
NSString *string2 = [regex stringByReplacingMatchesInString:string
                                                     options:0
                                                       range:range
                                                withTemplate:@"SEPARATOR"];
3) 分开绳子

NSArray *elements = [string2 componentsSeparatedByString:@"SEPARATOR"];

你可以使用正则表达式

使用模式(我相信这是你问题的核心):

最后,分开

return [modified componentsSeparatedByString:dummy];

分裂字符串的最短解

NSString *str = @"Please split me to form array of words"; 
NSArray *wordsArray  = [str componentsSeparatedByString:@" "];

位置和描述后面的冒号后面有空格吗?很遗憾没有!在字母表中总是一个字符串。好的。因为那时你可以做@:“---时间可以是任何时间,还是总是在小时?数据是不同的。有时它会说“3pm”,这很好,但有时它会说“3pm”Ok。你可以这样做(这不是代码,只是逻辑),如果颜色的int值之前的数字不是零,因为我相信字母的int值是零,这可能会起作用,因为它永远不会是零
return [modified componentsSeparatedByString:dummy];
NSString *str = @"Please split me to form array of words"; 
NSArray *wordsArray  = [str componentsSeparatedByString:@" "];