这是字符串
中的真实数据25459178 for: MARIA PETRUZZELLA on: 2014-05-27
我正在考虑将其作为
[TransactionNumber] for: [Customer] on: [Date]
如何获取以下值
TransactionNumber = 25459178
Customer = MARIA PETRUZZELLA
Date = 2014-05-27
答案 0 :(得分:9)
使用String.Split
var input = "25459178 for: MARIA PETRUZZELLA on: 2014-05-27";
var values = input.Split(new[] { "for:", "on:" }, StringSplitOptions.RemoveEmptyEntries);
var TransactionNumber = values[0];
var Customer = values[1];
var Date = values[2];
注意:您可以对每个值使用Trim
来删除前导和尾随空格。
答案 1 :(得分:2)
这样的事情可行,但你必须确保你在客户名称方面涵盖所有基础,并且数据的格式不会改变:
string input = "25459178 for: MARIA PETRUZZELLA on: 2014-05-27";
System.Text.RegularExpressions.Match match = System.Text.RegularExpressions.Regex.Match(input, @"(?<Transaction>[0-9]+)\s+for:\s+(?<Customer>[a-zA-Z\- ]+)\s+on:\s+(?<Date>[0-9]{4}-[0-9]{2}-[0-9]{2})");
string transaction = match.Groups["Transaction"].Value;
string customer = match.Groups["Customer"].Value;
string date = match.Groups["Date"].Value;
DateTime dateObject;
DateTime.TryParse(date, out dateObject);
在你的情况下,为了简单起见,我可能会选择Selman22的答案。