我想从一个字符串中拾取三个字符串,例如Vks - Vks * Son

 txtName.Text = objDoctor.DocName.Substring(0, objDoctor.DocName.IndexOf("-")).Trim();


我已经成功获得了第一部分

txtMidName.Text = objDoctor.DocName.Substring(1, objDoctor.DocName.IndexOf("-")).Trim();

 txtLastName.Text = objDoctor.DocName.Substring(0,objDoctor.DocName.LastIndexOf("*")).Trim();


注意:第二部分是Vks - Vks * Son的MidName和3rd部分,即Son是姓氏

请检查一下:

  Name = Name.Trim();

arrNames = Name.Split(' ', '-' , '*');

if (arrNames.Length > 0) {
    GivenName = arrNames[0];
}
if (arrNames.Length > 1) {
    FamilyName = arrNames[arrNames.Length - 1];
}
if (arrNames.Length > 2) {
    MiddleName = string.Join(" ", arrNames, 1, arrNames.Length - 2);
}


真的会帮助某人

最佳答案

只需使用string.Split

var parts = objDoctor.DocName.Split('-', '*');
txtName.Text = parts[0];
txtMidName.Text = parts[1];
txtLastName.Text = parts[2];


请注意,如果字符串不包含至少三部分,则将引发异常。

10-06 00:09