2015/04/03

【C#】文字列の先頭や末尾、部分一致をチェックする

photo by Tim Reckmann

よく「先頭が○だったらA処理、×だったらB処理」みたいな条件分岐がある。
そんなときに便利なのが、String.StartsWith、String.EndsWith


単純に「先頭がこの文字列なら」と指定できる場合は、上記の方法で対処可能だ。

ただ、先頭が英字のみとか、末尾が数値のみというようなチェックの場合は、StartsWith、EndsWithが使えない。


そんなときは「正規表現」を使う。


文字列の先頭を表すのが「^」、末尾を表すのが「$」
[a-zA-Z]や[0-9]は正規表現の定番で、「a~z、またはA~Z」、「0~9」よいう意味。


「○が含まれる」という条件の場合は、「value.Contains(“12”)」とか「Regex.IsMatch(value, @”[0-9]”)」みたいな書き方もできる。



ちなみに正規表現のパターンの頭につけている「@」は、逐語的文字列リテラルと呼ばれるもの。
これをつける事によって、二重引用符で囲まれた文字列のエスケープシーケンス(\nとか\tとか)を処理せずそのまま解釈してくれる便利なヤツ。


以上

written by @bc_rikko

0 件のコメント :

コメントを投稿