我有文本文件:
Pool 53-12-74 up 123,55
Estimate,00: 237-123 not case, send up
Tech 123-45-6
Over head 12-22-27-8 beat
Pool 230-000 get up
Blink 123-90-88-3 up
...
等,其中X是随机数。我需要捕获包含六位数的所有值(带“ - ”符号)。我不知道如何用一个正则表达式做到这一点。
答案 0 :(得分:1)
您可以尝试正则表达式和 Linq :
String source =
"a 123-456 up\nb 12-34-56 up\nc 987-55-4 beat";
String pattern = "[0-9]+(-?[0-9]+)*";
// [123-456, 12-34-56, 987-55-4]
String[] matches = Regex.Matches(source, pattern)
.OfType<Match>()
.Select(match => match.Value)
.Where(match => match.Count(c => c >= '0' && c <= '9') == 6) // exactly 6 digits
.ToArray(); // optionally, if you want matches as an array
答案 1 :(得分:1)
根据给定数据,简单Split
函数可以解决您的问题
String[] s = File.ReadAllLines("FilePath");
foreach (string item in s)
{
Console.WriteLine(item.Split(' ')[1]);
}