-2

我正在尝试学习拆分字符串。我有一个字符串,例如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.
4

3 回答 3

4

将这些信息中的每一个修剪成特定字符串的最简单方法是什么:姓名、姓氏、日期?

看起来你想根据和空间分割刺痛。,

string[] splitArray = st.Split(new string[] { ",", " "}, StringSplitOptions.RemoveEmptyEntries);

编辑:

就解析名称而言,您必须定义某种规则来确定您的字符串如何具有名称。例如,您的字符串可能有多个名称,First、Last、Middle 以逗号分隔,在这种情况下,上述语句不会为您提供所需的结果。您必须定义一些规则以使您的输入字符串保持一致,并基于这些规则string.Split来获取值。

于 2013-10-01T15:27:46.430 回答
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 文件或类似文件来分解各个部分。

于 2013-10-01T15:51:48.973 回答
0

使用String.Split方法并使用分隔符作为,

于 2013-10-01T15:30:57.103 回答