在这个项目中,我需要将预订ID与下面的字符串分开,形成一个单独的整数。
Booking ID: 27620
Booked for Paitient(ID): 003
Booked Staff ID: 001
Booked Room: b001
Booked Equipment: Adam
如何在C#中执行此操作?
澄清:上面的代码是整个字符串,第一行是包含预订ID的地方。我需要帮助找到一种方法来将ID与字符串分开。 我试过Regex,但没有占上风。我无法理解字符串格式。 ID可以是任意长度。
答案 0 :(得分:1)
正则表达式可以处理您正在寻找的内容。
string text = "Booking ID: 27620 ...";
foreach (string line in new LineReader(() => new StringReader(text))
{
string result = Regex.Replace(line, @"[^\d]", "");
Console.WriteLine(result); // >> 27620
}
正则表达式"[^\d]"
说:
[]
捕获
^\d
一切不是(^
)数字(\d
)
然后Replace
用空字符串替换它。
如果您循环浏览文件的每一行,这将是最有价值的。
如果您需要保留字段值,那么运行简单拆分将是更好的方法。
string input = "Booking ID: 27620";
Dictionary<string, string> dict =
new Dictionary<string, string>{key = input.Split(':')[0],
value = input.Split(':')[1]};