私はこのような文字列を持っています:
numbers(23,54)
入力形式は次のようになります。
numbers([integer1],[integer2])
正規表現を使用して「23」と「54」の数値を取得するにはどうすればよいですか?または、他にもっと良い方法はありますか?
正規表現の使用を避けることができるため、入力の形式は一貫しています。
string input = "numbers(23,54)";
var numbers = input.Replace("numbers(", "")
.Replace(")", "")
.Split(',')
.Select(s => Int32.Parse(s));
または(マジックナンバーを恐れない場合):
input.Substring(8, input.Length - 9).Split(',').Select(s => Int32.Parse(s))
更新ここでも正規表現バージョン
var numbers = Regex.Matches(input, @"\d+")
.Cast<Match>()
.Select(m => Int32.Parse(m.Value));
ええ(\ d +)を使用して数字を正しく取得しますこれは正しい方法です