split strings into many strings by newline?
我有需要拆分为多个值的传入数据…即。
2345
564532
345634
234 234543
1324 2435
号
接收时长度不一致,存在时间距不一致,我要分析每个字符串之前的最后3位数字。如何断开字符串并将其转换为新字符串?就像我说的,这一轮可能有3个命令,下一次可能有10个,如何创建3个新字符串,分析它们,然后在下10个到来之前销毁它们?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | string[] result = x.Split(' '); result = x.Split(splitAtReturn, StringSplitOptions.None); string stringToAnalyze = null; foreach (string s in result) { if (s !=" ") { stringToAnalyze += s; } else { how do i analyze the characters here? } } |
您可以使用string.split方法。我特别建议使用使用可能分隔符的字符串数组的重载。这是因为换行符上的拆分是一个独特的问题。在您的示例中,所有换行符都只是一个'',但对于某些操作系统,换行符是'
',如果不能排除将两个字符放在同一文件中的可能性,则
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | string test ="2345 564532 345634 234 234543 1324 2435 "; string[] result = test.Split(new string[] {" "," <div class="suo-content">[collapse title=""]<ul><li>我知道如何使用它,但我想将每个结果字符串都作为子字符串来处理,以便分析它们</li><li>子字符串在数组结果中,每个子字符串都在自己的索引中。对不起,不清楚,你能举个例子吗?</li><li>效果很好。谢谢大家!</li></ul>[/collapse]</div><hr> [cc lang="csharp"]string lines ="2345 564532 345634 234 234543 1324 2435 "; var last3Digits = lines.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries) .Select(line => line.Substring(line.Length - 3)) .ToList(); foreach(var my3digitnum in last3Chars) { } |
最后3位:
之前已经回答过,请检查此线程:在.NET中,在换行符上拆分字符串最简单的方法是什么?
另一种方法是使用StringReader:
1 2 3 | using (System.IO.StringReader reader = new System.IO.StringReader(input)) { string line = reader.ReadLine(); } |
号
您的答案是:
');