Swift の String(文字列)- エスケープとトリム
ここでは Swift の String(文字列)でエスケープとトリムをする方法についてご説明します。
Swift の String(文字列)で文字をエスケープする
Swift の String(文字列)を定義する時はダブルクォート(")で囲みます。
文字列リテラルの中でダブルクォートを使いたい時には、それらの文字をエスケープする必要があります。
Swift ではそのような文字をエスケープするのにバックスラッシュ \ を使います。
ダブルクォートを文字の中に入れたい場合は、ダブルクォートの前にバックスラッシュをつけて \" のようにエスケープします。
また、エスケープ文字として使われているバックスラッシュを文字列に入れたい時には \\ のようにします。
let s1 = "ダブルクォート \" です。"
let s2 = "バックスラッシュ \\ です。"
print(s1)
print(s2)
実行結果は次のようになります。エスケープ文字は消えて、出力された文字列に、それぞれダブルクォート・バックスラッシュが表示されていますね。
ダブルクォート " です。
バックスラッシュ \ です。
Swift の String(文字列)に改行やタブを挿入する
Swift の String(文字列)にタブや改行を挿入したいことがあるかもしれません。
文字列の中にタブ文字の \t を入れるとその場所にタブが挿入されます。
文字列の中に改行文字の \n もしくは \r もしくは \r\n を入れると、その場所に改行が挿入されます。
改行コードシステムによって違います。Unix や Mac OS X 以降では \n、Windows では \r\n、Mac OS 9 以前は \r が使われています。
文字列に \t と \r\n を入れて print してみましょう。
print("aaa\tbbb\tccc")
print("-------------------")
print("xxx\r\nyyy\r\nzzz")
実行結果は次のようになります。タブは playground では少しわかりにくいですが、TextEdit などに貼り付けると、タブと改行が挿入されているのがわかると思います。
aaa bbb ccc
-------------------
xxx
yyy
zzz
Swift の String(文字列)をトリムする
プログラミングで、文字列の先頭や末尾に含まれる空白文字などを削除する関数名が trim であることが多く、その操作を「トリムする」と言います。
Swift の String(文字列)をトリムをしたい時は trimmingCharacters() というメソッドが使えます。
trimmingCharacters() メソッドは引数に .whitespaces や .whitespacesAndNewlines などの CharacterSet を受け取り、それをトリムした文字列を返します。
では、trimmingCharacters() メソッドを使って文字列をトリムしてみましょう。
trimmingCharacters() メソッドは NSString のメソッドなので Foundation をインポートする必要があります。
import Foundation
let s = " Test "
let trimmed = s.trimmingCharacters(in: .whitespaces)
print("[\(s)]")
print("[\(trimmed)]")
実行結果は次のようになります。前後に [ ] を表示していますが、空白が削除されているのがわかります。
[ Test ]
[Test]
以上、Swift の文字列でエスケープとトリムをする方法についてご説明しました。