C#で文字列をタイトルケース(Title Case)に変換する方法
タイトルケース(Title Case)とは
タイトルケースとは、書籍のタイトルや記事の見出しなどで使われる表記スタイルの一つで、主要な単語の頭文字を大文字にする形式です。英語圏では、出版作品や芸術作品のタイトルを表記する際に広く採用されています。タイトルケースでは原則としてすべての単語の先頭を大文字にしますが、冠詞や短い前置詞・接続詞といった「補助的(マイナー)」な単語は、タイトルの先頭または末尾に置かれる場合を除いて小文字のままになります。
C#では、TextInfoクラスのToTitleCaseメソッドを使うことで、文字列を簡単にタイトルケースへ変換できます。以下の例に示す実装では、出力される文字列の長さは入力文字列と同じになります。
例1:基本的な使い方
class Program{
static void Main(string[] args){
string myString = "war and peace";
TextInfo myTI = new CultureInfo("en-US", false).TextInfo;
Console.WriteLine("\"{0}\" to titlecase: {1}", myString, myTI.ToTitleCase(myString));
Console.ReadLine();
&;}
}出力結果
"war and peace" to titlecase: War And Peace
例2:複数の文字列を一括で変換する
配列に格納した複数の文字列に対して、現在のカルチャ(CurrentCulture)のTextInfoを使って順番に変換する例です。入力時の大文字・小文字が混在していても、正しく整形されていることがわかります。
class Program{
static void Main(string[] args){
string[] values = {
"a tale of three cities", "gROWL rescue",
"inside the office", "sports and tennis",
"The Return of Christmas Holmes"
};
TextInfo ti = CultureInfo.CurrentCulture.TextInfo;
foreach (var value in values)
Console.WriteLine("{0} −−> {1}", value, ti.ToTitleCase(value));
Console.ReadLine();
}
}出力結果
a tale of three cities −−> A Tale Of Three Cities
gROWL rescue −−> Growl Rescue
inside the office −−> Inside The Office
sports and tennis −−> Sports And Tennis
The Return of Christmas Holmes −−> The Return Of Christmas Holmes
押さえておきたいポイント
- TextInfoの取得方法:特定のカルチャを指定したい場合は
new CultureInfo("en-US", false).TextInfoのように明示的に指定できます。システム設定に従いたい場合はCultureInfo.CurrentCulture.TextInfoを利用します。 - 補助的な単語も大文字になる:.NETのToTitleCaseは、厳密な英文タイトルの慣習とは異なり、「of」「the」「and」などの短い単語も大文字に変換します(例:「a tale of three cities」→「A Tale Of Three Cities」)。厳密なルールに従いたい場合は、例外リストを自前で実装する必要があります。
- すべて大文字の単語は保持される:「USA」のような完全に大文字の単語(略語など)は、意図的にそのまま維持されます。これは頭字語を保護するための仕様です。
- カルチャ依存の動作:変換処理はカルチャ情報に基づくため、言語によって大文字・小文字の概念が異なる場合(日本語など)にも適切に対応できます。
-
文字列をJavaScriptオブジェクトに変換する方法【JSON.parse()の使い方】
JavaScriptでJSON形式の文字列をオブジェクトに変換するには、JSON.parse()メソッドを使用します。このメソッドは、引数に渡された文字列を解析(パース)し、対応するJavaScriptオブジェクトを返します。 サンプルコード <!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-width, initial-scale=1.0 /> <title>Docum
-
C#のToTitleCaseメソッドとは?文字列をタイトルケースに変換する方法
C#のToTitleCaseメソッドは、単語の先頭文字を大文字に変換するために使用されます。「タイトルケース」とは、文中の主要な各単語の先頭文字を大文字にする表記スタイルのことです。たとえば「jack sparrow」は「Jack Sparrow」のように変換されます。実際に、文字列をタイトルケースへ変換する例を見てみましょう。サンプルコードusing System; using System.Globalization; class Demo { static void Main() { &nb