【问题标题】:Extract 2 strings from an NSString separated by a special character从由特殊字符分隔的 NSString 中提取 2 个字符串
【发布时间】:2011-04-10 20:57:19
【问题描述】:

我有一个像“你好 - 这是我”这样的 NSString。 我想搜索“-”并将“-”前后的文本放在两个单独的字符串中。

任何人都知道如何以最好的方式做到这一点?

向马克斯打招呼

【问题讨论】:

    标签: objective-c ios nsstring


    【解决方案1】:
    NSArray *subStrings = [myString componentsSeparatedByString:@"-"]; //or rather @" - "
    NSString *firstString = [subStrings objectAtIndex:0];
    NSString *lastString = [subStrings objectAtIndex:1];
    //Add some array range checking to it and you're done.
    

    【讨论】:

    • 像这样一个高度本地化和微不足道的 sn-p 怎么能吸引所有这些点赞,这超出了我的理解范围?!
    • 工作得很好,但是如果我有这样的字符串 @"cat@animal,pen@thing,mouse@hardware" 形成一个包含 @"cat,pen, 的数组的理想方法是什么?鼠标”,即在每个字符串中修剪特殊字符@及其后面的文本,请注意它是单个字符串,请帮助,谢谢:)
    • @EshwarChaitanya:正则表达式匹配。捕获模式 @"(?<=,|^)(\w+?)@\w+?(?=,|$)" 的第 1 组。如需更多帮助,请考虑发布一个单独的问题。
    • 对不起,我没听懂你,赶上模式的第 1 组??? ,抱歉,我不想针对每个问题发布问题,到目前为止这是我的故事。请理解:)
    • @EshwarChaitanya:read up on regular expressions,特别是关于“捕获/捕获组”。正则表达式在这个问题上是 OT。
    【解决方案2】:
    NSString *myString = @"123-456-789-1234-2345-3456-4567";
    NSArray *subStrings = [myString componentsSeparatedByString:@"-"];
    for (int i = 0; i < [subStrings count]; i++) {
        NSLog(@"string on array position %d is : %@", i, [subStrings objectAtIndex:i]);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-05
      • 2015-02-15
      • 2011-11-26
      • 2011-04-24
      • 1970-01-01
      相关资源
      最近更新 更多