【Objective-C】NSString操作_特定の文言を含むNSStringを前後分けて取得する【Xcode10.1対応】

こういう人向けに発信しています。
・NSStringで「@(」以降を削除したい人など
・NSStringの操作について興味がある人
・Objective-C初心者

今回行うのはどういう操作か?

NSString *tokyoTower = @"東京タワー(東京)";
NSString *tutenkaku = @"通天閣(大阪)";

上記のようなNSStringがあった時に、(東京)がいらない!
となった場合の対処法です。

Objective-C コード

    NSString *tokyoTower = @"東京タワー(東京)";
    NSString *tokyo;
    NSRange found = [tokyoTower rangeOfString:@"@(" options:NSLiteralSearch];
    if (found.location != NSNotFound)
    {
        // @(が見つかったので、その場所の前後で文字列を分割します。
        tokyo = [pathName substringToIndex:found.location];
    }

解説

「@(」がどこにあるか認識して、
その文字の前後で文字列を分割しております。
補足ですが、後半部分を取る場合は下記の通り。

string_right = [string substringFromIndex:found.location + found.length];

参考(スペシャルサンクス)


いいなと思ったら応援しよう!