|
.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クラスのメソッドをラップしている。
カテゴリ:クラス・ライブラリ 処理対象:文字列
使用ライブラリ:Stringクラス(System名前空間)
使用ライブラリ:TextInfoクラス(System.Globalization名前空間)
使用ライブラリ:CultureInfoクラス(System.Globalization名前空間) |
|
generated by
|
|
Insider.NET 記事ランキング
本日
月間