文字列の先頭の文字を大文字にする

文字列の先頭の文字を大文字にするコードを紹介します。

方法1: System.Globalization.TextInfo を用いる

UI

下図のUIを準備します。
文字列の先頭の文字を大文字にする:画像1

コード

下記のコードを記述します。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Globalization;

namespace HeadCharToUpper
{
  public partial class FormMain : Form
  {
    public FormMain()
    {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
      string inStr = textBox_Input.Text;
      
      TextInfo ti =CultureInfo.CurrentCulture.TextInfo;
      string outStr = ti.ToTitleCase(inStr);

      textBox_Output.Text = outStr;

    }
  }
}

実行結果

プロジェクトを実行します。下図のウィンドウが表示されます。
文字列の先頭の文字を大文字にする:画像2

上部のテキストボックスに文字("penguin")を入力します。すべて小文字で入力します。
文字列の先頭の文字を大文字にする:画像3

[HeadToUpper]ボタンを押します。先頭の文字が大文字に変換された文字列("Penguin")が下部のテキストボックスに表示されました。
文字列の先頭の文字を大文字にする:画像4

注意

ToTitleCase()はタイトル用に整形するメソッドのため、入力文字列の途中にある大文字は小文字に変換されてしまいます。("caMel"は"Camel"と変換されます。)
文字列の先頭の文字を大文字にする:画像5

また小文字のひらがなは大文字にはなりません。
文字列の先頭の文字を大文字にする:画像6

方法2: 先頭の文字を取り出して大文字に変換する

UI

下図のUIを準備します。
文字列の先頭の文字を大文字にする:画像7

コード

下記のコードを記述します。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace HeadCharToUpper
{
  public partial class FormMain : Form
  {
    public FormMain()
    {
      InitializeComponent();
    }

    private void button2_Click(object sender, EventArgs e)
    {
      string inStr = textBox_Input.Text;

      string outStr = Char.ToUpper(inStr[0]) + inStr.Substring(1);

      textBox_Output.Text = outStr;

    }
  }
}

実行結果

プロジェクトを実行します。下図のウィンドウが表示されます。
文字列の先頭の文字を大文字にする:画像8

入力用テキストボックスに文字列("penguin")を入力します。[HeadToUpper2]ボタンを押します。下部の出力用テキストボックスに先頭の文字が大文字に変換された文字列("Penguin")が表示されます。
文字列の先頭の文字を大文字にする:画像9

補足

System.Globalization.TextInfo.ToTitleCase メソッドを利用した場合は文字列の途中の大文字は小文字に変換されますが、こちらの方法で実装した場合、先頭の文字列だけが大文字になり、以降の文字は大文字、小文字が保持されます。("whiteBear"は"WhiteBear"と変換されます。)
文字列の先頭の文字を大文字にする:画像10

ひらがな等の小文字は大文字には変換されません。
文字列の先頭の文字を大文字にする:画像11

AuthorPortraitAlt
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
作成日: 2012-12-27
Copyright © 1995–2025 iPentec all rights reserverd.