.NET TIPS

アルファベットを大文字/小文字に変換するには?

デジタルアドバンテージ
2003/06/27

 文字列に含まれるアルファベットを大文字あるいは小文字に変換するには、Stringクラス(System名前空間)のToLowerメソッドあるいはToUpperメソッドを使用する。文字列オブジェクトはStringクラスのインスタンスであるため(C#のstring型はStringクラスのエイリアス(別名)である)、文字列オブジェクトに対して直接これらのメソッドを呼び出すことができる。以下にこれらを使用したサンプル・プログラムを示す。

// chcase1.cs

using System;

public class ChangeCase1 {
  static void Main() {

    string orig = "vIsUaL sTuDiO .nEt 2003 発売!";

    Console.WriteLine(orig.ToLower());
    // 出力:visual studio .net 2003 発売!

    Console.WriteLine(orig.ToUpper());
    // 出力:VISUAL STUDIO .NET 2003 発売!
  }
}

// コンパイル方法:csc chcase1.cs
大文字/小文字への変換を行うC#のサンプル・プログラム(chcase1.cs)

 サンプル・プログラムの出力結果からも分かるように、全角文字のアルファベットも変換することができる。アルファベット以外の文字は影響を受けない。

TextInfoクラスによる変換

 アルファベットの大文字や小文字の区別は、言語によって異なるものである。そのため.NET Frameworkでは、カルチャ(言語や地域固有の情報)に依存する大文字/小文字の変換を、TextInfoクラス(System.Globalization名前空間)のToLowerメソッドとToUpperメソッドで定義している。上記のサンプル・プログラムで使用したStringクラスの2つのメソッドは、実際にはこれらのメソッドをラップしたものだ。

 TextInfoクラスのインスタンスは、カルチャ情報を示すCultureInfoクラス(System.Globalization名前空間)のTextInfoプロパティから取得することができる。また、システムで設定されている現在のカルチャはCurrentCultureプロパティから取得できる。

 次のサンプル・プログラムは、TextInfoクラスにあるメソッドを使用して、アルファベットの大文字/小文字を変換した例である。

// chcase2.cs

using System;
using System.Globalization;

public class ChangeCase2 {
  static void Main() {

    string orig = "vIsUaL sTuDiO .nEt 2003 発売!";

    CultureInfo ci = CultureInfo.CurrentCulture;
    TextInfo ti    = ci.TextInfo;

    Console.WriteLine("現在のカルチャ:" + ci);
    // 出力:現在のカルチャ:ja-JP

    Console.WriteLine(ti.ToLower(orig));
    // 出力:visual studio .net 2003 発売!

    Console.WriteLine(ti.ToUpper(orig));
    // 出力:VISUAL STUDIO .NET 2003 発売!

    Console.WriteLine(ti.ToTitleCase(orig));
    // 出力:Visual Studio .Net 2003 発売!
  }
}

// コンパイル方法:csc chcase2.cs
TextInfoクラスにより大文字/小文字への変換を行うサンプル・プログラム(chcase2.cs)

 TextInfoクラスには、文字列を「タイトル文字列」に変換するためのToTitleCaseメソッドも用意されおり、サンプル・プログラムではこのメソッドを最後に呼び出している。タイトル文字列への変換では、単語の最初の文字が大文字に変換され、残りの文字は小文字に変換される。

 なおVisual Basic .NETには、アルファベットを大文字/小文字に変換するためのLCase関数とUCase関数が用意されているが、これらの関数もTextInfoクラスのメソッドをラップしている。End of Article

カテゴリ:クラス・ライブラリ 処理対象:文字列
使用ライブラリ:Stringクラス(System名前空間)
使用ライブラリ:TextInfoクラス(System.Globalization名前空間)
使用ライブラリ:CultureInfoクラス(System.Globalization名前空間)
 
この記事と関連性の高い別の.NET TIPS
文字と文字列を変換するには?
大文字/小文字を区別しないで文字列を比較するには?
文字列の長さを取得するには?
文字列をURLエンコードするには?
文字列をシフトJISとしてバイト列に変換するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」

TechTargetジャパン

Insider.NET フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH