NSRegularExpressionを使用して文字列から部分文字列を削除するにはどうすればよいですか?

cocoa-touch ios4 objective-c
NSRegularExpressionを使用して文字列から部分文字列を削除するにはどうすればよいですか?

私は文字列の特定の部分を削除しようとしていますが、これまでは削除したい文字列の部分と一致するようにRegExを使用することにしましたが、その後、元の特定の範囲を削除する方法がわかりませんストリング…​

「333-333 Anywhere Lane」を「333 Anywhere Lane」に変更しようとしています。 基本的に、ハイフンの後に追加の数字を削除しようとしています。

これが私のコードです:

address = @"333-333 Anywhere Lane";

NSError *error = NULL;

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"-[0-9]*" options:NSRegularExpressionCaseInsensitive error:&error];

NSRange rangeOfFirstMatch = [regex rangeOfFirstMatchInString:address options:0 range:NSMakeRange(0, [address length])];

NSLog(@"range of match = %d", rangeOfFirstMatch);

if (!NSEqualRanges(rangeOfFirstMatch, NSMakeRange(NSNotFound, 0))) {

    address = [address substringWithRange:rangeOfFirstMatch];
    NSLog(@"substring = %@", address8);
    //i cant get the -333 but i don't know how to remove that..

}

何か案は??

前もって感謝します!

  0  0


ベストアンサー

このリンクを見てください。

0


誰かがこれにつまずいて、受け入れられた答えのリンクがあいまいであると思う場合は、ここにコードがあります:

address = @"333-333 Anywhere Lane";

NSError *error = NULL;

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"-[0-9]*" options:NSRegularExpressionCaseInsensitive error:&error];

address = [regex stringByReplacingMatchesInString:address options:0 range:NSMakeRange(0, [address length]) withTemplate:@""];

NSLog(@"substring = %@", address8);

0


タイトルとURLをコピーしました