1

私はこのような文字列を持っています:

numbers(23,54)

入力形式は次のようになります。

numbers([integer1],[integer2])

正規表現を使用して「23」と「54」の数値を取得するにはどうすればよいですか?または、他にもっと良い方法はありますか?

4

2 に答える 2

3

正規表現の使用を避けることができるため、入力の形式は一貫しています。

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));
于 2013-02-22T10:13:11.323 に答える
2

ええ(\ d +)を使用して数字を正しく取得しますこれは正しい方法です

于 2013-02-22T10:12:03.300 に答える