.NET TIPS

特定の文字列で始まるか/終わるかを判定するには?[C#、VB]

デジタルアドバンテージ 一色 政彦
2007/12/20

 エンド・ユーザーが入力した文字列内容が妥当かを検証する際に、その文字列が「特定の文字列で始まるかどうか」を調べたいときがある。例えばHTTP形式のURLの入力を求める項目で、その入力文字列の先頭が正しく「http://」で始まっているかを確かめたいときなどだ。このような場合には、Stringクラス(System名前空間)のStartsWithメソッドが利用できる。

 StartsWithメソッドを使うには、当然、文字列が代入されたStringオブジェクトが必要だ。そのStringオブジェクトのStartsWithメソッドを呼び出す。パラメータには、調べたい「特定の文字列」を指定する。

 StartsWithメソッドは、Stringオブジェクトの文字列が「特定の文字列」で始まっている場合にはTrueを、そうでない場合にはFalseを、戻り値で返す。例えば、Stringオブジェクトの文字列が「ftp://www.atmarkit.co.jp/fdotnet/」で、特定の文字列が「http://」であれば、戻り値はFalseになる。

 StartsWithメソッドを利用したコンソール・アプリケーションのサンプル・プログラムを次に示す。

using System;

class Class1
{
  [STAThread]
  static void Main(string[] args)
  {
    string text = "あいうえお";

    if (text.StartsWith("あい"))
    {
      Console.WriteLine("「あい」で始まるテキスト");
    }
    else
    {
      Console.WriteLine("「あい」で始まらないテキスト");
    }
    // 出力:「あい」で始まるテキスト

    if (text.EndsWith("えお"))
    {
      Console.WriteLine("「えお」で終わるテキスト");
    }
    else
    {
      Console.WriteLine("「えお」で終わらないテキスト");
    }
    // 出力:「えお」で始まるテキスト
  }
}
Module Module1

  Sub Main()
    Dim text As String = "あいうえお"

    If (text.StartsWith("あい")) Then
      Console.WriteLine("「あい」で始まるテキスト")
    Else
      Console.WriteLine("「あい」で始まらないテキスト")
    End If
    ' 出力:「あい」で始まるテキスト

    If (text.EndsWith("えお")) Then
      Console.WriteLine("「えお」で終わるテキスト")
    Else
      Console.WriteLine("「えお」で終わらないテキスト")
    End If
    ' 出力:「えお」で始まるテキスト
  End Sub

End Module
StartsWithメソッドとEndsWithメソッドを利用したコンソール・アプリケーションのサンプル・プログラム(上:C#、下:VB)

 上記のコードにはEndsWithメソッドを利用したコードが含まれているが、これは、StartsWithメソッドとは逆に、Stringオブジェクトの文字列が「特定の文字列で<終わるか>」を調べるためのものだ。EndsWithメソッドのパラメータと戻り値は、StartsWithメソッドと同じ仕様である。End of Article

カテゴリ:クラス・ライブラリ 処理対象:文字列
使用ライブラリ:Stringクラス(System名前空間)

この記事と関連性の高い別の.NET TIPS
文字列に特定の文字列が含まれているかを調べるには?(Contains編)
文字と文字列を変換するには?
文字列に特定の文字列が含まれているかを調べるには?
文字列から特定の文字列を取り除くには?
[ASP.NET]DataGridコントロールで特定の行や文字を強調するには?
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「.NET TIPS」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間