[iOS,Objective-C] NSStringで特定文字の位置を取得する方法
JavaScriptにおける indexOf() や PHPによる strpos(), mb_strpos() のような、特定のテキストの出現位置を他のテキストから取得する方法をご紹介します。
NSSting::rangeOfString
rangeOfStringメソッドに引数としてNSString型のテキストを渡すと、返り値にそのテキストの出現位置(location)と、長さ(length)が設定されたNSRangeデータを返します。
もし見つからなければlocationにNSNotFound、lengthに0が設定されるので、この値を見ることで位置を特定することができます。
NSNotFound は取得してみると中身は特定の数値データなのですが、この数値はしばしば変更されるので、数値だけで有無を判断しないようにしてください。
rangeOfStringの使用例
NSString* searchStr = @"good"; NSString* targetStr = @"good morning"; NSRange range = [targetStr rangeOfString:searchStr]; if (range.location == NSNotFound) { NSLog(@"見つかりませんでした。"); } else { NSLog(@"出現位置:%d 長さ:%d", range.location, range.length); }
NSLogの出力結果は以下のようになります。
出現位置:0 長さ:4
くれぐれも出現位置(location)のあるなしを0と比較してしまわないようにしましょうね。
IOS FACTORY(IOS FACTORY) リールオイル IOS-01PRO IOS-01PRO
7% オフ10ml 非ニュートン系添加剤入り、ベイトリールならワンランクUPの飛距離! 各種高性能をオールシーズン長期に渡りキープ! リカバリー機能 有機溶剤ゼロ! フロン&有機ガスゼロ! で人体にも環境にも優しい イージーピンスポット注油、高気密容器 専用ノズル付瓶
IOSファクトリー FACTORY(IOS FACTORY) リールオイル IOS-02PRO
10ml ●ハイレベルアングラーの高い要求を驚異的なポテンシャルで形にした非ニュートン系粘弾性化学合成リールオイルがIOSオイルです 。●※非ニュートン系とは・・・液体は高速で回転するものに触れると 遠心力で弾かれ、周囲には空間ができます。その物理の法則に逆らって回転する物体に絡みつき、駆け上がっていく液体があります。この特性はニュートンの法則に逆らうことから「非ニュートン系粘弾性」と呼ばれています。 。●IOSオイルはベイトリールの軸受けベアリングに塗布すると飛距離向上が長期に渡り継続します。... もっと読む
FONLAM Switch対応 コントローラー PC/Android/iOSも全対応 背面ボタン マクロ対応 ゲームパッド Switch2/OLED/Liteも対応 ゲームコン Bluetooth接続 手動/自動連射 振動/連射スピード調整 スリープ復帰 レイアウト切替(マカロン紫)
¥2,999 (2025-08-21 04:50 GMT +09:00 時点 - 詳細はこちら価格および発送可能時期は表示された日付/時刻の時点のものであり、変更される場合があります。本商品の購入においては、購入の時点で当該の Amazon サイトに表示されている価格および発送可能時期の情報が適用されます。)🎮【2つ背面ボタン付き】操作を完全再現できる。押し感が良い背面ボタン2つ付き、一つボタンに最大30秒、24つボタンの連続操作を自由設定が可能で、オリジナル裏技を記憶できます。それに背面ボタンをON/OFFするスイッチがついています、使用しない場合、OFFに設置して、誤操作が予防できます。 🎮【幅広い交換性】Switch/IOS13・14/アンドロイド/PCなど多種機種対応できます。【最新ios対応】ios13~14及びその以降のバージョン対応、COD、FORTNITE、マイクラ認定ゲームパッド。... もっと読む
2011-12-21