Web検索はbingがおすすめ!

string型変数の先頭の文字を判定する - StartsWith メソッドの利用 - C#

string型変数の先頭の文字を判定するコードを紹介します。

概要

string型の先頭の文字列を判定する場合には,StartsWith メソッドを利用すると容易に実装できます。

書式

[stringオブジェクト].StartsWith([比較文字])
または
[stringオブジェクト].StartsWith([比較文字列])
[stringオブジェクト].StartsWith([比較文字列], [StringComparison])
[stringオブジェクト].StartsWith([比較文字列], [大文字小文字を区別するか], [比較に利用するCultureInfo])
先頭が一致していた場合には true が返ります。

UI

下図のUIを作成します。テキストボックスを3つ、ボタンを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;

namespace StringMatch
{
  public partial class FormStartsWith : Form
  {
    public FormStartsWith()
    {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
      string pattern = textBox1.Text;
      string input = textBox2.Text;

      if (input.StartsWith(pattern) == true)
      {
        textBox3.Text = "先頭が一致しました。";
      }
      else
      {
        textBox3.Text = "先頭は一致しませんでした。";
      }
    }
  }
}

解説

テキストボックスの値をstring型の変数に代入します。
  string pattern = textBox1.Text;
  string input = textBox2.Text;

StartsWithメソッドを呼び出し、input変数の末尾を判定します。判定する文字列をStartsWithメソッドの引数に与えます。 一致している場合は「先頭が一致しました。」の文字列を下部のテキストボックスに表示し、一致していない場合は「先頭は一致しませんでした。」 の文字列を下部のテキストボックスに表示します。
    private void button1_Click(object sender, EventArgs e)
    {
      string pattern = textBox1.Text;
      string input = textBox2.Text;

      if (input.StartsWith(pattern) == true)
      {
        textBox3.Text = "先頭が一致しました。";
      }
      else
      {
        textBox3.Text = "先頭は一致しませんでした。";
      }
    }

実行結果

プロジェクトを実行します。下図のウィンドウが表示されます。


判定文字列に "W" 入力文字列に "WhiteBear" を入力し[button1]をクリックします。


「先頭が一致しました。」の文字列が表示されます。"WhiteBear" の先頭の "W" の文字が一致ししているためです。


小文字の"w"を設定した場合には、一致しません。デフォルトでは大文字と小文字は別の文字として判定されます。


判定文字列に"Wh"を設定した場合には、一致します。"WhiteBear" の先頭2文字が一致しているためです。


入力文字列と判定文字列を同じ文字列 "WhiteBear" に設定した場合は一致する結果となります。


日本語(マルチバイト文字)の場合も先頭の文字が一致すれば一致となります。


参考:StringComparisonの値

StringComparisonには以下の値を指定できます。
数値の値 意味
CurrentCulture 0 カルチャに依存した並べ替え規則と、現在のカルチャを使用して、文字列を比較します。
CurrentCultureIgnoreCase 1 カルチャに依存した並べ替え規則と、現在のカルチャを使用し、比較対象の文字列の大文字と小文字の区別を無視して、文字列を比較します。
InvariantCulture 2 カルチャに依存した並べ替え規則と、インバリアント カルチャを使用して、文字列を比較します。
InvariantCultureIgnoreCase 3 カルチャに依存した並べ替え規則と、インバリアント カルチャを使用し、比較対象の文字列の大文字と小文字の区別を無視して、文字列を比較します。
Ordinal 4 序数 (バイナリ) の並べ替え規則を使用して文字列を比較します。
OrdinalIgnoreCase 5 序数 (バイナリ) の並べ替え規則を使用し、比較対象の文字列の大文字と小文字の区別を無視して、文字列を比較します。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
掲載日: 2022-03-21
iPentec all rights reserverd.