【Swift】文字列を大文字、小文字に変換する。(Swift 2.1、XCode 7.2)
文字列を大文字に変換する
String型の変数の小文字を大文字に変換した値を取得するには以下のメソッドを利用する。最初から大文字だったものは何も変わらない。
1 2 3 4 5 6 7 8 9 10 11 |
/* ** 【メソッド】uppercaseString ** 【説明】String変数の値の小文字を大文字に変換した値を取得する。 */ var test1 = "Hello, Swift"; print(test1.uppercaseString) //実行結果 //HELLO, SWIFT |
日本語には大文字、小文字の概念が無いので、文字列の中に日本語があっても無視される。
1 2 3 4 5 6 7 8 9 10 |
/* ** 【補足】日本語は無視される。 */ var test1 = "こんにちは, Swift"; print(test1.uppercaseString) //実行結果 //こんにちは, SWIFT |
小さい「ぁぃぅぇぉ」も同様に無視される。
1 2 3 4 5 6 7 8 9 10 |
/* ** 【補足】日本語は無視される。 */ var test1 = "ぁぃぅぇぉ, あいうえお"; print(test1.uppercaseString) //実行結果 //ぁぃぅぇぉ, あいうえお |
大文字を小文字に変換する
大文字を小文字に変換するには以下のメソッドを利用する。最初から小文字だったものは何も変わらない。
1 2 3 4 5 6 7 8 9 10 11 |
/* ** 【メソッド】lowercaseString ** 【説明】String変数の値の大文字を小文字に変換した値を取得する。 */ var test1 = "HELLO, swift"; print(test1.lowercaseString) //実行結果 //hello, swift |
ロケールを考慮に入れて大文字、小文字を変換する
ロケールとは、国ごとに異なる言語、通貨単位、記号などの表記上の規則である。以下のメソッドを使ってロケールを指定して大文字、小文字の変換をすると、国に適した文字列変換をしてくれる。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
/* ** 【メソッド】uppercaseStringWithLocale、lowercaseStringWithLocale ** 【説明】ロケールを指定して小文字、大文字の変換をする。 ** 現在のロケールをそのまま指定する場合はNSLocale.currentLocale()を引数に与える。 */ var test1 = "HELLO, swift"; print(test1.uppercaseStringWithLocale(NSLocale.currentLocale())) //実行結果 //HELLO, SWIFT var test2 = "HELLO, swift"; print(test2.lowercaseStringWithLocale(NSLocale.currentLocale())) //実行結果 //hello, swift |
普段、日本語と英語しか使っていないのでロケールを指定する局面が無い。
一つ例を挙げておくと、トルコ語の「iyiyim(元気です)」を大文字にすると、大文字Iの上にポッチが付いた「İYİYİM」になる。英語のロケールで変換するとポッチがつかない「I」になってしまうので、トルコ語のロケールを指定して大文字に変換する。
1 2 3 4 5 6 7 8 9 10 11 12 |
/* ** 【補足】ロケールを変更して結果が異なる例 */ var test2 = "iyiyim" //元気です print(test2.uppercaseStringWithLocale(NSLocale(localeIdentifier: "en"))) print(test2.uppercaseStringWithLocale(NSLocale(localeIdentifier: "tr"))) //実行結果 //IYIYIM //İYİYİM |