[解決済み] NSStringの部分文字列を取得する方法は?
2023-07-21 04:56:15
質問
NSStringから値を取得したい場合
@"value:hello World:value"
から値を取得したい場合、何を使うべきでしょうか?
私が欲しい返り値は
@"hello World"
.
どのように解決するのですか?
オプション1:
NSString *haystack = @"value:hello World:value";
NSString *haystackPrefix = @"value:";
NSString *haystackSuffix = @":value";
NSRange needleRange = NSMakeRange(haystackPrefix.length,
haystack.length - haystackPrefix.length - haystackSuffix.length);
NSString *needle = [haystack substringWithRange:needleRange];
NSLog(@"needle: %@", needle); // -> "hello World"
オプション2です。
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"^value:(.+?):value$" options:0 error:nil];
NSTextCheckingResult *match = [regex firstMatchInString:haystack options:NSAnchoredSearch range:NSMakeRange(0, haystack.length)];
NSRange needleRange = [match rangeAtIndex: 1];
NSString *needle = [haystack substringWithRange:needleRange];
これはあなたの些細なケースには少しオーバーかもしれませんが。
オプション3です。
NSString *needle = [haystack componentsSeparatedByString:@":"][1];
こちらは、分割中に3つの一時的な文字列と配列を作成します。
すべてのスニペットは、検索されたものが実際に文字列に含まれていることを前提としています。
関連
-
[解決済み】Xcode - 'NSUnknownKeyException', reason: ... this class is not key value coding-compliant for the key X" エラーの修正方法とは?
-
[解決済み] Objective-Cの定数
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] カスタムオブジェクトを含むNSMutableArrayをソートするにはどうすればよいですか?
-
[解決済み] performSelectorのセレクタが不明なため、リークが発生する可能性があります。
-
[解決済み] NSStringをNSNumberに変換する方法
-
[解決済み] NSStringにパーセント記号を追加する方法
-
[解決済み] 「NSString *' 型のパラメータに 'const NSString *' を送ると修飾子が破棄される」警告
-
[解決済み] Objective-Cでクラスのインスタンスを@protocolにキャストする
-
[解決済み] Xcode 4(および依存関係)におけるコンパイル、ビルド、またはアーカイブの問題
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Objective-Cのクラス→文字列のようなものです。[NSArray className] -> @"NSArray" のようになります。
-
[解決済み] RootViewControllerのスイッチングアニメーション
-
[解決済み] Objective-Cのセレクタ?
-
[解決済み] Swiftでクラスをプロトコルに準拠させるには?
-
[解決済み] キーチェーンのアイテムは何がユニークなのか(iOSの場合)?
-
[解決済み] Objective-Cでクラスのインスタンスを@protocolにキャストする
-
[解決済み] APNSのデバイストークンは、一度作成すると変更されることはありますか?
-
[解決済み] UIButtonのテキストを変更する
-
[解決済み] std::stringをNSStringに変換する方法は?
-
[解決済み] MKMapViewのアノテーションをすべて削除する方法