拆分逗号分隔的字符串并存储到变量中
Split comma separated string and store into variables
我想拆分一个字符串并将每个数据存储到 C# 中的变量。
我怎样才能做到这一点?
我的代码是:
string name="John,Hutkins,Doe,San Francisco CA";
输出应该是这样的:
string fname = "John";
string mname = "Hutkins";
string lname = "Doe";
string address= "San Francisco CA";
它很简单:
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 解析器,有很多
进一步阅读
Returns a string array that contains the substrings in this instance
that are delimited by elements of a specified string or Unicode
character array.
看起来像 class
更好的情况
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;
. . . . . . .
如果此字符串来自 .csv 文件,请考虑使用可用的 csv 解析器。
您也可以使用任何方式使用此方法。
String [] results = name.Split(',');
在这里,您的姓名将存储在结果数组中。索引顺序将是从 0 开始的字符串中的名称顺序;
像这样
String address = results[3];
但是这里有一个错误。由于您使用逗号分隔值,因此您不能在地址中使用逗号,这会很困难。尝试使用类似“|”的东西od '*'.
此致
我想拆分一个字符串并将每个数据存储到 C# 中的变量。 我怎样才能做到这一点?
我的代码是:
string name="John,Hutkins,Doe,San Francisco CA";
输出应该是这样的:
string fname = "John";
string mname = "Hutkins";
string lname = "Doe";
string address= "San Francisco CA";
它很简单:
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 解析器,有很多
进一步阅读
Returns a string array that contains the substrings in this instance that are delimited by elements of a specified string or Unicode character array.
看起来像 class
更好的情况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;
. . . . . . .
如果此字符串来自 .csv 文件,请考虑使用可用的 csv 解析器。 您也可以使用任何方式使用此方法。
String [] results = name.Split(',');
在这里,您的姓名将存储在结果数组中。索引顺序将是从 0 开始的字符串中的名称顺序; 像这样
String address = results[3];
但是这里有一个错误。由于您使用逗号分隔值,因此您不能在地址中使用逗号,这会很困难。尝试使用类似“|”的东西od '*'.
此致