文字列の大文字へ・小文字へ変換する方法

Scala 3 (Dotty 0.26.0-RC1) 2.13.3 2.12.12
最終更新:2020年7月30日

[AD] scalapediaでは記事作成ボランティアを募集しています

この記事では、Scalaで文字列を大文字に変換する方法、あるいは小文字に変換する方法について解説します。

文字列を大文字に変換するにはjava.lang.StringtoUpperCaseメソッドを使用します。
また、小文字に変換するにはtoLowerCaseメソッドを使用します。

toUpperCaseメソッドを使用して文字列を大文字にに変換する

String#toUpperCaseメソッドを使用して、文字列を大文字に変換してみましょう。

Java
public String toUpperCase​()

サンプルとしてこちらの文字列を使用します。

val title = "Scala逆引き解説 Scalapedia"

使い方は以下の通りです。
文字列に対して直接toUpperCaseメソッドを呼び出せばOKです。

println(title.toUpperCase)

出力は以下のようになります。

SCALA逆引き解説 SCALAPEDIA

アルファベットが大文字に変換されていることを確認してください。

日本語の文字には大文字・小文字の区別がないので、変化していません。

toLowerCaseメソッドを使用して文字列を小文字に変換する

こんどは、String#toLowerCaseメソッドを使用して文字列を小文字に変換してみましょう。

Java
public String toLowerCase​()
println(title.toLowerCase)

出力は以下のようになります。

scala逆引き解説 scalapedia

アルファベットが小文字に変換されていますね。

先ほどと同様に、日本語の文字は変化していません。

ロケールを指定して変換する方法

ロケールを使用して、変換ルールを具体的に指定することもできます。

toUpperCasetoLowerCaseメソッドははロケールに依存するため、特定の場合において予期せぬ結果を引き起こすことがあります。

変換ルールをあらかじめ具体的に指定しておくことにより、不具合を防ぐことができます。

ロケールを指定するには、メソッドに対してjava.util.Localeを渡します。

ロケールを指定して大文字に変換する

Java
public String toUpperCase​(Locale locale)

ここでは、ロケールに依存しない変換結果を取得するためにLocale.ROOTを使用してみます。

println(title.toUpperCase(Locale.ROOT))

出力は以下のようになります。

SCALA逆引き解説 SCALAPEDIA

ロケールを指定して小文字に変換する

Java
public String toLowerCase​(Locale locale)

同様に、ロケールに依存しない変換結果を取得するためにLocale.ROOTを使用してみます。

println(title.toLowerCase(Locale.ROOT))

出力は以下のようになります。

scala逆引き解説 scalapedia

まとめ

文字列を大文字に変換するにはStringのtoUpperCaseメソッドを使用します。
また、小文字に変換するにはtoLowerCaseメソッドを使用します。

ロケールを使用して、変換ルールを具体的に指定することもできます。

サイト内検索


カテゴリ「文字列処理」の記事

文字列をエスケープしたり復元したりする方法(Apache Commons Text) JavaとScalaのString/StringBuilder/StringBuffer使い分け事情 文字列を分割する方法(split・splitAt・linesIterator・linesWithSeparatorsメソッド) trimメソッドで文字列の前後の空白を除去する 文字列が一致するか比較する方法/大文字・小文字を区別せずに比較する方法 特定の文字の文字コード(コード・ポイント)を取得する replaceメソッドなど、文字列を置換する方法を紹介 文字列の先頭や末尾を、取得したり切り落としたりする方法 containsメソッドでStringに特定の文字列が含まれるか調べる方法 数値を文字列に変換する方法 stripメソッドで文字列の前後の全角空白を除去する 文字列を数値に変換するには?to○○メソッドと注意点について 文字列を辞書的に比較する方法/大文字・小文字を区別せずに比較する方法 文字列が特定の文字列で始まるか・終わるかを調べる方法 【getBytes&size】文字列のバイト長を取得する方法 substringでStringを切り取り、部分文字列を抽出する方法 StringOpsとWrappedStringの違いは? 文字列を連結するには?+演算子やString interpolationの使い方 文字列の大文字へ・小文字へ変換する方法 文字列を逆順にする方法 文字列の文字コード(文字セット)を変換する方法 文字列の長さを取得する方法:lengthとcodePointCountの使い分け 文字列をURLエンコード・デコードする方法 文字列が正規表現に合致するか調べる方法 この文字の位置はどこ?文字列のインデックスを取得する方法 文字列をバイト列に、またはバイト列を文字列に変換する方法

カテゴリ「文字列処理」の記事

文字列をエスケープしたり復元したりする方法(Apache Commons Text) JavaとScalaのString/StringBuilder/StringBuffer使い分け事情 文字列を分割する方法(split・splitAt・linesIterator・linesWithSeparatorsメソッド) trimメソッドで文字列の前後の空白を除去する 文字列が一致するか比較する方法/大文字・小文字を区別せずに比較する方法 特定の文字の文字コード(コード・ポイント)を取得する replaceメソッドなど、文字列を置換する方法を紹介 文字列の先頭や末尾を、取得したり切り落としたりする方法 containsメソッドでStringに特定の文字列が含まれるか調べる方法 数値を文字列に変換する方法 stripメソッドで文字列の前後の全角空白を除去する 文字列を数値に変換するには?to○○メソッドと注意点について 文字列を辞書的に比較する方法/大文字・小文字を区別せずに比較する方法 文字列が特定の文字列で始まるか・終わるかを調べる方法 【getBytes&size】文字列のバイト長を取得する方法 substringでStringを切り取り、部分文字列を抽出する方法 StringOpsとWrappedStringの違いは? 文字列を連結するには?+演算子やString interpolationの使い方 文字列の大文字へ・小文字へ変換する方法 文字列を逆順にする方法 文字列の文字コード(文字セット)を変換する方法 文字列の長さを取得する方法:lengthとcodePointCountの使い分け 文字列をURLエンコード・デコードする方法 文字列が正規表現に合致するか調べる方法 この文字の位置はどこ?文字列のインデックスを取得する方法 文字列をバイト列に、またはバイト列を文字列に変換する方法