あわあわエラーログ~わりと技術的~

yachtseaのライフログ・メモ・日記のようなもの

ある文字列で囲まれた文字列を取得する(C#)

正規表現を使って

括弧などで囲まれた文字列を取得する方法。

 

たまにしか使わないせいで

使う度にググるのに疲れたからメモメモ。

 

System.Text.RegularExpressions

静的メソッドを使ってみる。

 

例えば検索対象の文字列を

string target = "[car:atenza]";

として、"[car:"と"]"で囲まれた部分を抜き出す場合、

一つの例として以下のように書けば上手くいく。

string pattern = @"(\[car:)(?<carName>.+?)(\])";
string carName = Regex.Match(target, pattern).Groups["carName"].Value;

carNameにはちゃんと"atenza"が格納されているはず。

 

あまり使ったことなかったけど、"?<carName>"のようにして

グループ化した検索結果に名前を付けられるのは

値使用時にわかりやすくて好印象だった。