2 つ以上の数字を含む文字列があります。以下にいくつかの例を示します。
"(1920x1080)"
" 1920 by 1080"
"16 : 9"
「1920」や「1080」などの個別の数字を、1 つまたは複数の非数字文字で区切られていると仮定して、どのように抽出できますか?
基本的な正規表現は次のようになります。
[0-9]+
すべての一致を調べてその値を取得するには、ライブラリを使用する必要があります。
var matches = Regex.Matches(myString, "[0-9]+");
foreach(var march in matches)
{
// match.Value will contain one of the matches
}
あなたが使用することができます
string[] input = {"(1920x1080)"," 1920 by 1080","16 : 9"};
foreach (var item in input)
{
var numbers = Regex.Split(item, @"\D+").Where(s => s != String.Empty).ToArray();
Console.WriteLine("{0},{1}", numbers[0], numbers[1]);
}
出力:
1920,1080
1920,1080
16,9
(\d+)\D+(\d+)
その後、この正規表現をカスタマイズして、使用する言語のフレーバーに合わせます。