将字符串拆分为3个部分

时间:2013-10-01 15:25:44

标签: c# .net string

我正在努力学习分裂字符串。我有一个字符串,例如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.

3 个答案:

答案 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方法并将分隔符用作,