[C#/正規表現]文字列の真ん中を切り抜くやり方

C#で文字列の切り出しと言えばString.Substringメソッドがあります。
Substringメソッドは文字列のインデックスで切り出しを行うので、
文字列の内容が定まっていない場合は使いにくい場合もあります。
Regex.Matchesメソッドは正規表現を使用して
文字列のパターンで切り出しを行うことが出来るので、
Substringよりもシンプルに書くことできる場合もあります。

私はDBのテーブル作成スクリプトからスキーマ名の切り出しを行う際、
どちらを使用するか検討しましたが
String.Substringメソッドでは5行程度のロジックが必要だったのに対し、
Regex.Matchesメソッドでは1行で済みました。
こんな感じですね。

var s = "CREATE TABLE schema_name.table_name";
Console.WriteLine(Regex.Match(s,@"\S*\.")); //schema_name.

正規表で空白~.の間に合致するパターンを抽出しています。

コメント