[Objective-C] 文字列操作の便利Tips
公開日:
:
最終更新日:2014/08/09
iPhone App 開発, Objective-C iPhone App, objective-c
Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /home/users/1/juny/web/hidef/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524
Tipsいろいろ
先日の投稿 共通関数をまとめたクラスを作ろう!の流れで、文字列を操作するときに便利そうな関数をまとめてみました。
ぜひ参考になさってください。
文字列がnilか空か判定
+ (BOOL)isEmpty:(NSString *)aValue { if (aValue == nil || aValue.length == 0) return TRUE; return FALSE; }
文字列がnilか空であればTRUE、なんらかの値が入っていればFALSEが返却されます。
文字列がnilか空か判定(空白スペースも空とみなす)
+ (BOOL)isEmptyOrBlankSpace:(NSString *)aValue { if (aValue == nil || [[aValue stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]] isEqualToString:@""]) { return TRUE; } return FALSE; }
stringByTrimmingCharactersInSet関数で第一引数の値をトリミングします。
この場合の[NSCharacterSet whitespaceCharacterSet]は空白スペース(半角・全角)になります。
なので、空白スペースをいったん取り除いて、空文字列を比較しています。
戻り値はnilか空か空白スペースの場合はTRUE、それ以外の文字列はFALSEになります。
金額形式に変換する(カンマ付きの書式)
+ (NSString *)getAmountFormatString:(NSNumber *)aValue { if (aValue == nil) return @"0"; NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; [formatter setNumberStyle:NSNumberFormatterDecimalStyle]; [formatter setGroupingSeparator:@","]; [formatter setGroupingSize:3]; return [formatter stringFromNumber:aValue]; }
文字列を金額フォーマットに変換します。
例えば1000という値が入っていた場合、1,000という結果になります。(nilの場合は0)
ちなみに、第一引数はNSNumber型になっていますが、NSIntegerにしたい場合は[NSNumber numberWithInteger:aValue]などで変換してください。
[formatter stringFromNumber:aValue]で指定したフォーマットでNSNumber型を変換します。
文字列を省略して変換する
+ (NSString *)getOmittedString:(NSString *)aValue display:(NSInteger)length { if (aValue.length < length) return aValue; NSString *str = [aValue substringToIndex:length]; return [NSString stringWithFormat:@"%@…", str]; }
文字列を省略して省略文字を付加します。
第一引数は省略対象の文字列、第二引数は表示する文字数になります。
[aValue substringToIndex:length]で対象の文字数で抜き出し、”…”を付け加えます。
例えば、[getOmittedString:@”あいうえおかきくけこ” display:5] の結果は
「あいうえお…」になります。
まとめ
プログラムをする上で、文字列操作はとても多いです。
こういった便利な関数を有効に使って、要領よく開発したいですね。
ad
関連記事
-
-
App開発をはじめてみました。
はじめてみたはいいものの、右も左もわからず、書籍を読みあさり、ネットを徘徊し、いろんなことを調べ上げ
-
-
[Swift] CoreDataで検索したデータを削除する
CoreDataの検索と削除 前の投稿 CoreDataを使ってみる をふまえて今度は検索&削除
-
-
[Swift] スクリーンサイズを取得する
スクリーンサイズを取得 iPhoneの幅と高さを取得する関数を紹介します。 iOS8から画面の傾
-
-
[Swift] CoreDataを使ってみる
SwiftでCoreData 今回はSwiftでCoreDataを使ってみます。 Xcodeプロ
-
-
[Swift] 画像を合成する
画像を合成 以下の2つの画像を合成してみます。円と四角です。 画像をプロジェクトに追
-
-
[Swift] Swiftでいろんなfor文まとめてみた
いろんなfor文 プログラム作成で必ず出てくるfor文を自分なりにまとめてみました。 Swift
-
-
[Swift] UITableViewのセルにアクションを設定する
セル選択→アクション UITableViewControllerを使用したテーブルビューの画面があ
-
-
[Objective-C] デリゲート (Delegate)を理解する!
デリゲートとは? デリゲートに関しての意味合いとして、”委譲”とか”代理”と説明されることが多いで
-
-
[Swift] UITabBarControllerでタブ選択時のイベントを取得する
UITabBarController タブを使った画面を作成する場合はUITabBarContro
-
-
[Swift] Asset Catalogについて
XCode5から追加されたAsset Catalog。 いままで標準のImages.xcasset