- Home ›
- Ruby入門 ›
- 文字列(String)クラス ›
- HERE
文字列の比較
文字列の比較を行います。等しいかどうかの比較や大小の比較について確認していきます。
まず等しいかどうかを確認します。「==」メソッド及び「!=」メソッドを使います。
str1 == str2 str1 != str2
「==」メソッドの両端の文字列が等しい場合は「true」を返し、等しく無い場合には「false」を返します。逆に「!=」メソッドの両端の文字列が等しく無い場合は「true」を返し、等しい場合は「false」を返します。
具体的には次のように記述します。
str = "test" if str == "test" print("等しい") else print("等しく無い") end
上記の場合には変数「str」に格納されている文字列が「test」と等しいかどうかを判別しています。
文字列の大小比較
文字列の比較として「<」「<=」「>」「>=」の各メソッドが用意されています。文字列の比較の場合は英字についてはアルファベット順、日本語についてはあいうえお順に並べた場合の順序で比較します。
str1 < str2 str1 <= str2 str1 > str2 str1 >= str2
具体的には次のように記述します。
str1 = "abc" str2 = "def" if str1 > str2 print("大きい文字列は", str1, "です") else print("大きい文字列は", str2, "です") end
なおアルファベットの大文字と小文字の比較では大文字の方が小さい値となります。(並び順はABCDEF....XYZabcdef...xyzのようです)。
サンプルプログラム
では簡単なサンプルで試してみます。
#! ruby -Ks str1 = "Hello" str2 = "Hello" str3 = "hello" print(str1 == str2, "¥n") print(str1 != str2, "¥n") print(str1 == str3, "¥n") str4 = "文字列" if str4 == "文字列" print("等しい¥n") else print("等しく無い¥n") end str5 = "abc" str6 = "def" str7 = "ABC" if str5 < str6 print(str5, "の方が", str6, "より大きい¥n") else print(str6, "の方が", str5, "より大きい¥n") end if str5 < str7 print(str5, "の方が", str7, "より大きい¥n") else print(str7, "の方が", str5, "より大きい¥n") end
実行結果は次のようになります。
( Written by Tatsuo Ikura )