質問: C#にて文字列の”住所”を「町」と「〇丁目」で分割する方法はありますか? 例えば「東京都杉並区天沼11丁目」という住所の「町」と「丁目」の部分を、「天沼」と「11丁目」に分割する方法が思いつかず悩んでいます。
回答: 他のパターンも考慮しないといけない思いますが、正規表現のサンプルとして書いておきます。 string s = "東京都杉並区天沼11丁目"; System.Text.RegularExpressions.Match m; m = System.Text.RegularExpressions.Regex.Match(s, ".+[都道府県]"); string todofuken = m.Value; s = System.Text.RegularExpressions.Regex.Replace(s, ".+[都道府県]", ""); m = System.Text.RegularExpressions.Regex.Match(s, ".+[市区郡]"); string sikugun = m.Value; s = System.Text.RegularExpressions.Regex.Replace(s, ".+[市区郡]", ""); m = System.Text.RegularExpressions.Regex.Match(s, @"\d+丁目"); string chome = m.Value; string cho = System.Text.RegularExpressions.Regex.Replace(s, @"\d+丁目", ""); System.Diagnostics.Debug.WriteLine("都道府県:" + todofuken); System.Diagnostics.Debug.WriteLine("市区郡:" + sikugun); System.Diagnostics.Debug.WriteLine("町:" + cho); System.Diagnostics.Debug.WriteLine(chome); 参考 正規表現の基本 .NET Framework の正規表現