C# 解析c中的字符串并将其放入变量中
大家好,我是一名学生,仍在学习C。我需要解析一个具有以下格式的字符串:C# 解析c中的字符串并将其放入变量中,c#,arrays,string,parsing,char,C#,Arrays,String,Parsing,Char,大家好,我是一名学生,仍在学习C。我需要解析一个具有以下格式的字符串: < test, 1, 0, 1> 对于逗号分隔的字符串,可以使用string.Split: 如果字符串没有足够的条目,请确保添加错误处理部分的条目可能少于4个,。如果没有可解析的数字,则int.Parse可能引发异常 关于C中的字符串的一个注意事项:它们是不可变的引用类型。因此,对字符串的每个操作都会返回一个新字符串,而不是操作当前实例。例如,Trim不会修剪当前实例,但会返回修剪后的字符串。这听起来像是家庭作
< test, 1, 0, 1>
对于逗号分隔的字符串,可以使用string.Split: 如果字符串没有足够的条目,请确保添加错误处理部分的条目可能少于4个,。如果没有可解析的数字,则int.Parse可能引发异常
关于C中的字符串的一个注意事项:它们是不可变的引用类型。因此,对字符串的每个操作都会返回一个新字符串,而不是操作当前实例。例如,Trim不会修剪当前实例,但会返回修剪后的字符串。这听起来像是家庭作业/学习作业,我们不提供这些代码。通常,这一部分是学习经验的组成部分。我们能做的就是给你一些大概的想法 分析此格式的字符串
作为标记的一部分,CSV解析器和正则表达式似乎是最有可能使用的工具。但这取决于你以前学过什么。通常,这样的任务是为了强化你之前的紧张状态。绳子到底是什么样子的?还是测试,1,0,1?我的意思是,这是字符串的一部分,还是你只是添加了它们来标记字符串?@RenéVogt它是字符串的一部分,因为它标记了字符串的开始和结束。好的,根据我的回答更新了我的答案,它实际上是我项目论文的一部分,是的,它是最难的部分。我问这个问题是因为它将是arduino和c之间的通信线路。我仍在学习C和正则表达式似乎是一个很好的选择。谢谢你:
string input = "<test, 1, 0, 1>";
// first remove the < and >
string inputWithoutBrackets = input.TrimStart('<').TrimEnd('>');
// split the string at the commas
string[] parts = inputWithoutBrackets.Split(',');
string messageFromPC = parts[0].Trim(); // use Trim to get rid of whitespaces
int com1 = int.Parse(parts[1].Trim());
int com2 = int.Parse(parts[2].Trim());
int com3 = int.Parse(parts[3].Trim());