我正在努力学习分裂字符串。我有一个字符串,例如Adams, John - 22.6.2001
。将以下每条信息拆分成特定字符串的最简单方法是什么?我需要名字,姓氏和日期。
这是我自己尝试的解决方案:
string st = "Adams, John - 22.6.2001"
st = st.Trim(); // To replace all possible white spaces? But I don't know how can I cut each of details into string.
答案 0 :(得分:4)
将这些信息修剪成最简单的方法是什么? 特殊字符串:姓名,姓氏,日期?
您希望根据,
和空格拆分。
string[] splitArray = st.Split(new string[] { ",", " "}, StringSplitOptions.RemoveEmptyEntries);
修改强>
就解析名称而言,您必须定义某种规则,以确定字符串的名称。例如,您的字符串可以有多个名称,First,Last,Middle用逗号分隔,在这种情况下,上面的语句不会为您提供所需的结果。您必须定义一些规则以使输入字符串保持一致,并且基于此,您可以使用string.Split
来获取值。
答案 1 :(得分:1)
您可以使用String.Split()将字符串的各个部分分解为字符串数组。 Trim()用于从字符串的开头和结尾删除空格,因此可以用来整理生成的字符串。
string st = "Adams, John - 22.6.2001";
// first split on dash, to seperate name and date
string[] partsArray = st.Split('-');
// now split first part to get first and surname (trim surrounding whitespace)
string[] nameArray = partsArray[0].Split(',');
string firstName = nameArray[1].Trim();
string lastName = nameArray[0].Trim();
// get date from other part (again trim whitespace)
string dateAsString = partsArray[1].Trim();
解析文本是一个复杂的主题,但我认为问题只是寻找介绍。有许多边缘情况和问题需要添加到解析器,以获得接近100%的不同名称和日期格式的结果。如果您批量导入这样的数据,您可以使用CSV文件或类似文件在导入之前拆分零件。
答案 2 :(得分:0)
使用String.Split方法并将分隔符用作,