2012-07-09 77 views
0

我想使用NSRegularExpression以正确的顺序完成一些操作。我有一个NSStringNSRegularExpression和NSString比较

my_simple_string 

我想调用一个方法(我的方法,此处无关紧要)就像在CSS样式所以我NSDictionary我有NSStrings

* 
my* 
my_simple* 
my_simple_string 

我想要做的是我的方法要求上述所有这些值。我目前使用

IsEqualToString 

并比较每个子字符串。但是,这不是一个完美的解决方案,当我在网上做我的研究时,我发现一个建议使用NSRegularExpression的帖子,但我不知道它如何有用。

一个更重要的事情 - “_”不是分隔符,我没有分隔符。

编辑:

NSString *str = @"my_simple_string"; 
NSArray *arr = [NSArray arrayWithObjects:@"*",@"my*",@"my_simple*",@"my_simple_string*", nil]; 

for(int i = 0 ; i < [str length] ; i++) { 
    NSString *cut = [str substringToIndex:i]; 
    cut = [cut stringByAppendingString:@"*"]; 
    for(int j = 0; j < [arr count] ; j++) 
     if([cut isEqualToString:[arr objectAtIndex:j]]) 
      NSLog(@"find it!"); 
} 

NSLog(@"-----"); 
+0

请发布您想用正则表达式替换的代码片段。就长字符串搜索而言,正则表达式非常强大,所以很有可能你会发现它们也很有用。 – dasblinkenlight 2012-07-09 11:38:33

+0

谢谢,我用一些(简化)源代码更新了我的文章。 – Kuba 2012-07-09 12:24:35

回答

0

这看起来像一个典型的正则表达式的应用。您可以在Apple documentation中找到有关如何使用NSRegularExpression的示例。

如果这是你第一次处理正则表达式,你最好在互联网上查看一些教程(其中有很多)。