繁体   English   中英

我将如何找到一个单词,并在首次出现该单词后获取所有字符,但是在出现另一个单词后停止搜索?

[英]How would I Find a Word, and Take all characters after the first occurrence of the word, but stop after an occurrence of a different word?

例如

NSString *string = @"I need help finding a string";
NSString *newString = @"need";

我不仅需要为这个字符串工作,还需要它。 一个示例是采用字符串并删除单词“ I”之后和单词“ help”之前的所有内容。 非常感谢你!

为了清晰起见,从评论移至:

NSString *string = @"I need help finding a string";
NSRange rr2 = [TWEET rangeOfString:@"I "];
NSRange rr3 = [TWEET rangeOfString:@" help"];
int lengt = rr3.location - rr2.location;
int location = rr2.location + rr2.length;
NSRange aa;
aa.location = location;
aa.length = lengt;
NSString *link;
link = [TWEET substringWithRange:aa];
NSLog(@"The link is %@", link);

一种方法是将字符串拆分为单个单词,然后遍历整个单词,首先搜索第一个单词,然后将每个单词添加到新字符串中,直到找到它,然后搜索第二个单词,然后才发现添加剩下的话。

在代码中看起来可能像这样:

    NSString *myString = @"I need help finding a string";

    NSString *firstWord = @"need";

    NSString *secondWord = @"a";

    NSMutableString *newString = [NSMutableString stringWithString:@""];

    int index = 0;

    for (NSString *word in [myString componentsSeparatedByString:@" "]) {
        if(index == 0) {
            if([word isEqualToString:firstWord])
                index = 1;
            [newString appendFormat:@"%@ ", word];
        }
        else if(index == 1) {
            if([word isEqualToString:secondWord])
                index = 2;
        }
        else
            [newString appendFormat:@"%@ ", word];

     }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM