将字符串分成 3 个部分
本文关键字:个部 字符串 | 更新日期: 2023-09-27 18:33:32
我正在尝试学习拆分字符串。 我有一个字符串,例如,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.
将这些信息中的每一个修剪成的最简单方法是什么 特定字符串:姓名、姓氏、日期?
看起来您想根据,
和空间来分割刺痛。
string[] splitArray = st.Split(new string[] { ",", " "}, StringSplitOptions.RemoveEmptyEntries);
编辑:
就解析名称而言,您必须定义某种规则,以使您的字符串如何具有名称。例如,您的字符串可以有多个名称,第一个、最后一个、中间用逗号分隔,在这种情况下,上面的语句不会给你所需的结果。您必须定义一些规则以使输入字符串保持一致,并在此基础上使用 string.Split
来获取值。
您可以使用 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 文件或类似文件来分解部分。
使用 String.Split 方法并使用分隔符作为,