提取以逗号分隔的字符串部分
Extract string parts that are separated with commas
谁能帮我把一个字符串提取成 3 个不同的变量。
用户的输入将采用这种格式 13,G,true
。
我想将数字存储在 int
中,G 存储在 char
中,true
存储在 string
中。
但我不知道如何指定逗号位置,以便逗号前后的字符可以存储在另一个变量中。
我不允许使用 LastIndexOf
方法。
我真的是编程新手。
var tokens = str.Split(","); //Splits to string[] by comma
var first = int32.Parse(tokens[0]); //Converts first string to int
var second = tokens[1][0]; //Gets first char of the second string
var third = tokens[2];
但请注意,您还需要验证输入
string msg = "13,G,true";
var myArray = msg.Split(",");
// parse the elements
int number;
if (!Int32.TryParse(myArray[0], out number) throw new ArgumentException("Whrong input format for number");
string letter = myArray[1];
string b = myArry[2];
// or also with a boolean instead
bool b;
if (!Int32.TryParse(myArray[2], out b) throw new ArgumentException("Whrong input format for boolean");
string str='13,G,true';
string[] strArr=str.Split(',');
int32 n=0,intres=0;
char[] charres = new char[1];
string strres="";
if(!Int32.TryParse(strArr[0], out n))
{
intres=n;
}
if(strArr[0].length>0)
{
charres[0]=(strArr[1].toString())[0];
}
strres=strArr[2];
//you'll get 13 in strArr[0]
//you'll get Gin strArr[1]
//you'll get true in strArr[2]
您将需要方法 String.Split('char')
。此方法使用指定的字符拆分字符串。
string str = "13,G,true";
var arrayOfStrings=str.Split(',');
int number = int.Parse(arrayOfStrings[0]);
// original input
string line = "13,G,true";
// splitting the string based on a character. this gives us
// ["13", "G", "true"]
string[] split = line.Split(',');
// now we parse them based on their type
int a = int.Parse(split[0]);
char b = split[1][0];
string c = split[2];
如果你解析的是CSV数据,我会查看你语言相关的CSV解析库。对于 C#,Nuget.org 有几个不错的。
谁能帮我把一个字符串提取成 3 个不同的变量。
用户的输入将采用这种格式 13,G,true
。
我想将数字存储在 int
中,G 存储在 char
中,true
存储在 string
中。
但我不知道如何指定逗号位置,以便逗号前后的字符可以存储在另一个变量中。
我不允许使用 LastIndexOf
方法。
我真的是编程新手。
var tokens = str.Split(","); //Splits to string[] by comma
var first = int32.Parse(tokens[0]); //Converts first string to int
var second = tokens[1][0]; //Gets first char of the second string
var third = tokens[2];
但请注意,您还需要验证输入
string msg = "13,G,true";
var myArray = msg.Split(",");
// parse the elements
int number;
if (!Int32.TryParse(myArray[0], out number) throw new ArgumentException("Whrong input format for number");
string letter = myArray[1];
string b = myArry[2];
// or also with a boolean instead
bool b;
if (!Int32.TryParse(myArray[2], out b) throw new ArgumentException("Whrong input format for boolean");
string str='13,G,true';
string[] strArr=str.Split(',');
int32 n=0,intres=0;
char[] charres = new char[1];
string strres="";
if(!Int32.TryParse(strArr[0], out n))
{
intres=n;
}
if(strArr[0].length>0)
{
charres[0]=(strArr[1].toString())[0];
}
strres=strArr[2];
//you'll get 13 in strArr[0]
//you'll get Gin strArr[1]
//you'll get true in strArr[2]
您将需要方法 String.Split('char')
。此方法使用指定的字符拆分字符串。
string str = "13,G,true";
var arrayOfStrings=str.Split(',');
int number = int.Parse(arrayOfStrings[0]);
// original input
string line = "13,G,true";
// splitting the string based on a character. this gives us
// ["13", "G", "true"]
string[] split = line.Split(',');
// now we parse them based on their type
int a = int.Parse(split[0]);
char b = split[1][0];
string c = split[2];
如果你解析的是CSV数据,我会查看你语言相关的CSV解析库。对于 C#,Nuget.org 有几个不错的。