[AD] Scalaアプリケーションの開発・保守は合同会社ミルクソフトにお任せください
この記事では、Scalaで文字列を大文字に変換する方法、あるいは小文字に変換する方法について解説します。
文字列を大文字に変換するにはjava.lang.String
のtoUpperCase
メソッドを使用します。
また、小文字に変換するにはtoLowerCase
メソッドを使用します。
toUpperCaseメソッドを使用して文字列を大文字にに変換する
String#toUpperCase
メソッドを使用して、文字列を大文字に変換してみましょう。
Javapublic String toUpperCase()
サンプルとしてこちらの文字列を使用します。
val title = "Scala逆引き解説 Scalapedia"
使い方は以下の通りです。
文字列に対して直接toUpperCase
メソッドを呼び出せばOKです。
println(title.toUpperCase)
出力は以下のようになります。
SCALA逆引き解説 SCALAPEDIA
アルファベットが大文字に変換されていることを確認してください。
日本語の文字には大文字・小文字の区別がないので、変化していません。
java.lang.String#toUpperCase()
toLowerCaseメソッドを使用して文字列を小文字に変換する
こんどは、String#toLowerCase
メソッドを使用して文字列を小文字に変換してみましょう。
Javapublic String toLowerCase()
println(title.toLowerCase)
出力は以下のようになります。
scala逆引き解説 scalapedia
アルファベットが小文字に変換されていますね。
先ほどと同様に、日本語の文字は変化していません。
java.lang.String#toLowerCase()
ロケールを指定して変換する方法
ロケールを使用して、変換ルールを具体的に指定することもできます。
toUpperCase
、toLowerCase
メソッドははロケールに依存するため、特定の場合において予期せぬ結果を引き起こすことがあります。
変換ルールをあらかじめ具体的に指定しておくことにより、不具合を防ぐことができます。
ロケールを指定するには、メソッドに対してjava.util.Locale
を渡します。
ロケールを指定して大文字に変換する
Javapublic String toUpperCase(Locale locale)
ここでは、ロケールに依存しない変換結果を取得するためにLocale.ROOT
を使用してみます。
println(title.toUpperCase(Locale.ROOT))
出力は以下のようになります。
SCALA逆引き解説 SCALAPEDIA
java.lang.String#toUpperCase(java.util.Locale)
ロケールを指定して小文字に変換する
Javapublic String toLowerCase(Locale locale)
同様に、ロケールに依存しない変換結果を取得するためにLocale.ROOT
を使用してみます。
println(title.toLowerCase(Locale.ROOT))
出力は以下のようになります。
scala逆引き解説 scalapedia
java.lang.String#toLowerCase(java.util.Locale)
まとめ
文字列を大文字に変換するにはStringのtoUpperCase
メソッドを使用します。
また、小文字に変換するにはtoLowerCase
メソッドを使用します。
ロケールを使用して、変換ルールを具体的に指定することもできます。