0

我有一个 NSString,其中包含一些我想删除的文本,这是我想从 NSString 中删除的文本:

Textid="more-98989">

该号码可以更改为另一个号码。

有什么办法吗?我需要正则表达式吗?

4

2 回答 2

1

你绝对可以用正则表达式来做,但你也可以很容易地不用它。找到要删除的字符串的初始部分,然后"> Textid=". 这将为您提供需要删除的字符范围。

NSString *myString = "Blah blah Textid="more-98989"> More stuff";
NSString *res = nil;
NSRange start = [myString rangeOfString:@"Textid=\""];
if (start.location != NSNotFound) {
    NSRange end = [myString rangeOfString:@"\">" withOptions:NSLiteralSearch range:NSMakeRange(start.Location+1, myString.length-start.location-1)];
    if (end.location != NSNotFound) {
        res = [myString stringByReplacingCharactersInRange:NSMakeRange(start.location, end.location-start.location+2) withString:@""];
    }
}
if (!res) {
    // Starting or ending tags were not found
    res = myString;
}
于 2013-01-14T16:43:42.103 回答
0

编辑

要从不同的字符串中删除此字符串,请使用:

NSString *stringToRemove = [NSString stringWithFormat:@"more-%@", dynamicNumber];
NSString *newString      = [bigString stringByReplacingOccurrencesOfString:stringToRemove 
                                                                withString:@""];
于 2013-01-14T16:38:50.567 回答