Objective-C 基礎(8)- 文字列とNSStringクラス




Objective-Cでは文字列を扱う場合にNSStringクラスがよく使われます。具体的なNSStringクラスの使い方は以下のようになります。

§1 文字列の生成

●単純な文字列の生成

一番単純な方法です。先頭に「@」を付けて文字列を生成します。

●エンコーディングを指定して生成 その1

stringWithCStringメソッドを使用して文字列を生成しています。第1引数にC言語形式文字列(@は付けない)、第2引数にエンコーディングを指定します。メモリ割り当てからインスタンスの初期化まで(alloc、init)を一気に行うメソッドです。

「NSUTF8StringEncoding」はUTF-8エンコーディングを表す定数です。Shift-JIS「NSShiftJISStringEncoding」やEUC「NSJapaneseEUCStringEncoding」などの定数もあります。文字列のエンコーディングはソースファイルのエンコーディングと同じものを指定します。

●エンコーディングを指定して生成 その2

initWithCStringメソッドによりC言語形式文字列とエンコーディングを指定しています。initWithCStringはイニシャライザなのでallocを行ってから呼び出します。

●パラメータを埋め込んで生成

stringWithFormatは第1引数にフォーマット文字列、第2引数以降に埋め込む文字列を指定します。このメソッドもalloc、initを自動で行ってくれます。

§2 文字列の操作

●文字列の長さ(文字数)を取得

lengthメソッドにて文字列の長さ(文字数)を取得することができます。

●文字列を連結する

stringByAppendingStringメソッドにて2つの文字列を連結することができます。

●文字列の一部を取り出す

substringToIndexメソッドは文字列の先頭から、指定したインデックスの「1つ手前」の文字までを取り出すことができます。インデックスは配列と同様0から始まります。

substringFromIndexメソッドは指定したインデックスの文字から最後までを取り出す事ができます。

substringWithRangeメソッドは引数にNSRangeオブジェクトを指定します。ここではNSMakeRangeメソッドにてNSRangeオブジェクトを生成して渡しています。NSMakeRangeメソッドは第1引数に範囲のスタート位置インデックスを、第2引数に範囲の長さを指定します。

●文字列をトリムする

stringByTrimmingCharactersInSetメソッドは文字列の両端の指定文字(文字セットで指定)を除去することができます。

【主な文字セット】
whitespaceCharacterSet:空白とタブ
newlineCharacterSet:改行文字
whitespaceAndNewlineCharacterSet:空白とタブ、改行文字
alphanumericCharacterSet:アルファベット、記号、数字
decimalDigitCharacterSet:10進数の数字(0~9)

●文字列内を検索する

rangeOfStringメソッドは指定文字列が含まれる場合に、その位置や長さをNSRangeオブジェクトとして返します。

●文字列が同じかどうかを判定する

isEqualToStringメソッドは指定文字列が同じものかどうかを判定することができます。オブジェクトを「==」演算子で比較すると、その値ではなく「同一のインスタンス」かどうかを判定することになるので、ここではisEqualToStringメソッドを使っています。ただし、比較対象がNSStringの場合は「==」演算子で比較しても同じ文字列を値として持っている場合はtrueが返るようになっています。

Objective-C 基礎 目次

以下の記事も参考にして頂ければと思います。
Objective-C 基礎(1)- Xcodeのインストールとプロジェクトの作成
Objective-C 基礎(2)- Objective-Cの概要とメソッドの呼び出し
Objective-C 基礎(3)- クラス定義の方法
Objective-C 基礎(4)- クラスの使い方
Objective-C 基礎(5)- クラスメソッドとインスタンスメソッド
Objective-C 基礎(6)- 変数のスコープとプロパティ
Objective-C 基礎(7)- 変数のデータ型
Objective-C 基礎(8)- 文字列とNSStringクラス
Objective-C 基礎(9)- 可変文字列とNSMutableStringクラス
Objective-C 基礎(10)- Objective-Cの配列
Objective-C 基礎(11)- Objective-Cの連想配列
Objective-C 基礎(12)- ループ処理
Objective-C 基礎(13)- プロトコル


シェアして頂けると嬉しいです

















チャーム本店



価格.com ブロードバンド

価格.com 自動車保険









■コメントはお気軽にどうぞ