「1n。マウスの2n。スキャナーの」のような文字列があります。個々のオカレンスを抽出する正規表現を探しています。誰が私を助けてくれますか?
質問する
160 次
3 に答える
2
\d+\D+
数字から次の桁までのすべてに一致します。Regex.Matches
次に、その種類のすべての一致を見つけるために使用できます。
クイック PowerShell テスト:
PS> [regex]::matches('1 n. Of mouse 2 n. Of scanners', '\d+\D+') | select -expand Value
1 n. Of mouse
2 n. Of scanners
于 2012-07-26T13:17:43.923 に答える
1
文字列には、数字の後に "n. of" とオブジェクトが続く 1 つ以上のグループがあり、各オブジェクトとその出現箇所を抽出したいとします。この形式に基づく例を次に示します。
MatchCollection matches = Regex.Matches(
"1 n. Of mouse 2 n. of scanners",
@"(?<num>\d+)\s+n\.\s+of\s+(?<obj>\w+)",
RegexOptions.IgnoreCase);
foreach(Match m in matches) {
Console.WriteLine("Match found:");
Console.WriteLine("\tCount: {0}", m.Groups["num"]);
Console.WriteLine("\tObject: {0}\n", m.Groups["obj"]);
}
そしてその出力:
Match found:
Count: 1
Object: mouse
Match found:
Count: 2
Object: scanners
于 2012-07-26T13:31:45.463 に答える
0
このコードで試してください
var value = "1 n. Of mouse 2 n. Of scanners";
var result = value.Split().Select(p => Regex.Match(p, @"^\d+$").Value).Where(p => ! p.Equals(string.Empty)).ToList();
結果は
1
2
于 2012-07-26T13:22:16.017 に答える