分割逗号分隔的字符串并存储到变量中

时间:2018-08-06 02:44:08

标签: c# visual-studio-2008

我想分割一个字符串并将每个数据存储到C#中的变量中。 我该如何实现?

我的代码是:

string name="John,Hutkins,Doe,San Francisco CA";

输出应为:

string fname = "John";
string mname = "Hutkins";
string lname = "Doe";
string address= "San Francisco CA";

3 个答案:

答案 0 :(得分:0)

它很简单:

var results = name.Split(',');

if(results.Length != 4)
 throw new InvalidOperationException("Oh Noes!!!");

string fname = results[0];
string mname =  results[1];
string lname =  results[2];
string address=  results[3];

警告,当地址中出现逗号时,此操作将失败。

如果这是CSV文件,请考虑使用专用的CSV分析器,

进一步阅读

String.Split Method

  

返回一个字符串数组,该数组包含此实例中的子字符串   由指定的字符串或Unicode元素分隔的   字符数组。

答案 1 :(得分:0)

看起来最好有一个班级

public class PersonalInfo 
{

    public FName { get; private set; }
    public LName { get; private set; }
    public MName { get; private set; }
    public Address { get; private set; }

    public PersonalInfo (string info)
    {
        string[] items = info.Split(',');
        FName = items [0];
        MName = items [1];
        LName = items [2];
        Address = items [3];

    }

    public override ToString()
    {
       // return $"{LName}, {FName} {MName}"; // vs 2017
       return string.Format("{0}, {1} {2}", LName, FName, MName); // vs 2008
    }


}

现在您可以在列表等中实际使用对象了。

var pi = new PersonalInfo("John,Hutkins,Doe,San Francisco CA");
textBox1.Text = pi.FName;
. . . . . . . 

答案 2 :(得分:0)

如果此字符串来自.csv文件,请考虑使用可用的csv解析器。 您也可以使用任何方法使用此方法。

String [] results = name.Split(',');

在这里,您的姓名将存储在结果数组中。索引顺序将是字符串中以0开头的名称顺序。 像这样

String address = results[3];

但是这里有一个错误。由于您使用逗号分隔值,因此您无法在地址中使用逗号,这会很困难。尝试使用“ |”之类的东西od'*'。

致谢