C# 解析数组
我需要解析一个数组或一个固定长度的字符,但可以有几乎任何字母或数字的组合。我的50位数组如下所示:NL1NAMEOFCO-B0321442211000100600000-A35499001 此阵列代表了我们产品中设置的广泛组合。我需要提取数组中的所有引用指示符。前3个字符表示特定型号NL1,后8个字符表示公司名称Ofco。“-”将始终位于同一位置。B(数字13)表示一些值等。此外,一些值由2位数字表示。数字20和21(存储值22)表示一些特定设置 现在你明白了。我可以使用以下代码解析数组并提取所需的值:C# 解析数组,c#,C#,我需要解析一个数组或一个固定长度的字符,但可以有几乎任何字母或数字的组合。我的50位数组如下所示:NL1NAMEOFCO-B0321442211000100600000-A35499001 此阵列代表了我们产品中设置的广泛组合。我需要提取数组中的所有引用指示符。前3个字符表示特定型号NL1,后8个字符表示公司名称Ofco。“-”将始终位于同一位置。B(数字13)表示一些值等。此外,一些值由2位数字表示。数字20和21(存储值22)表示一些特定设置 现在你明白了。我可以使用以下代码解析数组并提取所
String Company = ConfigCode[3].ToString() +
ConfigCode[4].ToString() +
ConfigCode[5].ToString() +
ConfigCode[6].ToString() +
ConfigCode[7].ToString() +
ConfigCode[8].ToString() +
ConfigCode[9].ToString() +
ConfigCode[10].ToString();
这样做没有任何问题,但对我来说,应该有一种更简单的方法。我本以为下面的方法会奏效,但事实并非如此
String Company = ConfigCode[3..10].ToString();
有人能给我解释一下为什么它不起作用,还有什么更好的方法来提取我需要的信息
谢谢 我相信
String.Substring
方法就是您要寻找的。您要查找的重载方法的签名是:
public string Substring(
int startIndex,
int length
)
其文档如下所示:
例如,您的公司名称(按照字符长度8
的描述):
string CompanyName=configCode.Substring(3,8)代码>如前所述,您可以使用如下子字符串扩展方法:
String Company = ConfigCode.Substring(3, 8);
像在ConfigCode[3]
中一样,实际返回特定索引处的单个字符。而C#不像其他编程语言那样漂亮,因为像array[3..10]
这样的东西实际上会给你数组的一部分(或者在本例中是字符串)。string.Substring(startIndex,length)稍微好一点。长度不是8?代码显示为6,但问题提到了8个字符。@ryanyyu很好,我按代码:]我将更新它!子字符串正是我想要的。还纠正了问题中的错误。再次感谢大家!有趣。谢谢你的信息!