-3

我从串行端口读取数据,我想将此数据拆分为较小的数字示例:

        String  inputData = "3032592556231055126395692345723465234578235698"

        output : data1 = "30325925562"
                 data2 = "31055126395"
                 data3 = "692345723"
                 data4 = "465234578"
                 data5 = "235"
                 data6 = "698"

这正是我想做的。

4

2 回答 2

1

采用

string part = new string(inputString.Skip(12).Take(12).ToArray());

您可以用一个或两个变量替换 12

于 2013-03-14T21:32:52.967 回答
1

假设data1anddata2将始终保持 11 位data3data49 位,依此类推,也许使用 aSystem.Text.RegularExpression.Regex将帮助您实现您想要的(不使用SubString

Regex regex = new Regex("(\d{11})(\d{11})(\d{9})(\d{9})(\d{3})(\d{3})");
Match match = regex.Match(inputData);

if (match == Match.Empty)
    // Your inputData did not match the Regex, decide what to do here

data1 = match.Groups[1];
data2 = match.Groups[2];
// etc.

我承认,这不是最漂亮的解决方案。

于 2013-03-14T21:44:42.427 回答