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 に答える