Caution

お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。

Swift
入門編

  1. Swiftとは
  2. Swift実行環境の構築について
  3. print()を使って出力してみよう
  4. コメントとコメントアウトについて
  5. 文字列とエスケープシーケンスについて
  6. 数値について
  7. 基本的な演算子の使い方とオペランドについて
  8. 真偽値と比較演算子について
  9. データ型とは
  10. 変数と定数について
  11. 変数と定数の使い方
  12. 配列とは
  13. 配列の要素の追加や削除について
  14. 配列の使い方
  15. 辞書(Dictionary)とは
  16. 辞書のプロパティの追加や削除について
  1. nilとオプショナルについて
  2. 関数とは
  3. 引数と仮引数について
  4. 内部引数名と外部引数名について
  5. 返り値(戻り値)とreturnについて
  6. タプル(tuple)について
  7. 関数のオーバーロードについて
  8. もし〜ならばというif文について
  9. 論理演算子について
  10. 処理を分岐させるswitch文について
  11. 繰り返しのfor-in文と範囲演算子について
  12. ループ処理のwhile文とrepeat-while文について
  13. 処理を抜けるbreak文とcontinue文について
  14. クラスとインスタンスについて
  15. イニシャライザ(コンストラクタ)について
  16. 関数とクラスの使い分けについて
  1. トップページ
  2. Swift入門編 - 文字列とエスケープシーケンスについて

文字列とエスケープシーケンスについて

みなさまどうも。

さて、続きまして『文字列』(もじれつ)とか『エスケープシーケンス』とかについてやっていきましょう。ちょっと先の記事で『データ型』というものが出てくるのですが、それの下準備的な内容になりますね。

『文字列』は英語で『String』と表記されます。

というわけでまずは『文字列』からです。Swiftに限らず、プログラミングの世界では通常の文字の集まりのことを『文字列』といいます。

前の記事でやった以下のサンプルをちょっと再度確認してみましょう。

print("Hello world")

これは「Hello world」という『文字列』をデバッグエリアに出力するプログラムですが、ちょいと『()』の中に注目してみます。なにやら「"Hello world"」って感じで『"』で囲われていますね。

このように文字を『文字列』としてコンピューターに扱わせる場合、Swiftでは『"』(ダブルクォーテーション)で文字を囲ってあげる必要があります。

例えば先程のプログラムから『"』を抜くとエラーで動かなくなります。ここ間違えないように気をつけて下さい。

print(Hello world) // エラーです。

そんでもって日本語とかも『文字列』にできちゃいます。

print("こんにちは、世界。") // 日本語もOKです。

こんな感じで大体の文字は『文字列』として扱わせることができるのですが、ちょっと例外があるので紹介しておきます。

まず『"』を文字列として扱いたい、となった場合はこれまでの流れだとこうなりますよね。『"』が3つ連続してる感じです。

print(""")

これ、エラーになっちゃうので注意して下さい。

他のプログラム言語でも言えることですが、『"』を『"』で囲うことはできません

これは『文字列』をくくるために使ってる『"』なのか、ただの文字としての『"』なのか、コンピューター側で上手く判断できないからこんな動きになっちゃいます。

「じゃあ『"』を普通の文字みたいな扱いにしたいときはどうするのー?」ってなりますよね。そんな悩めるあなたは『\』(バックスラッシュ)を使用してみましょう。以下のサンプルを見てください。

print("\"")

これを実行させるとこうなります。

"

ちゃんと『文字列』の『"』として出力できてるみたいですね。

こんな感じで『"』の手前に『\』を置いてあげれば何の機能も持たないただの文字の『"』としての扱いになります。

※当記事をWindowsOSで閲覧している場合はバックスラッシュが円マークで表示されてしまっている可能性がありますのでご注意下さい。詳しくはこちらへどうぞ。

逆に『\』を何の機能も持たない『\』にしたい、といった場合は『\\』と記述しちゃえばOKです。こんな感じですね。

print("\\")

『"』とかの特殊な記号の手前に『\』を置いて何の機能も持たないただの文字として扱わせることを「エスケープする」なんて言ったりします。

こちらも現場でよく使用されるので覚えておくようにしましょう。

こんな感じで『\』は『"』のような特殊な機能を持つ記号の機能を無くす機能があります

(´-`).。oO(言葉にするとなんかごにょごにょしますね...)

さらに特定の文字と組み合わせることで他の表現もできたりしますのでこちらも紹介しておきます。

まずはアルファベットの『n』と組み合わせた場合ですね。『\n』と記述することで改行を表現することができます

以下のような感じです。

print("あいう\nえお")

これを実行させるとこうなります。

あいう
えお

『\n』の部分で改行されてるのが確認できると思います。

その他に『\t』でタブ文字を表現することができます

print("あいう\tえお")

実行させるとこうなります。

あいう	えお

んでもって今回紹介した『\"』とか『\\』とか『\n』とか『\t』とかのことを『エスケープシーケンス』(エスケープ文字)って呼ばれます。

ちょっとややこしいのですが、『\』はそのままバックスラッシュ、『\』と『"』を組み合わせた『\"』とかが『エスケープシーケンス』になる、といった感じですね。

こちらも良く出てくる言葉なんで覚えておきましょう。

というわけで『文字列』周りの解説は以上になりますね。続いての記事では『数値』について色々とやっていきます。

ではではこの辺で失礼いたします。

この記事は桜舞が執筆致しました。

著者が愛する小型哺乳類

桜舞 春人 Sakurama Haruto

ISDN時代から様々なコンテンツを制作しているちょっと髪の毛が心配な東京在住のプログラマー。生粋のロングスリーパーで、10時間以上睡眠を取らないと基本的に体調が悪い。好きなだけ寝れる生活を送るのが夢。ゲームとスポーツと音楽が大好き。誰か髪の毛を分けて下さい。

記事の間違いや著作権の侵害等ございましたらお手数ですがまでご連絡頂ければ幸いです。