首页 > 解决方案 > 拆分过长的字符串

问题描述

我有一个如下图所示的字符串: 在此处输入图像描述

我正在使用一个 API,它像这样在 json 中采用这个大字符串{"data" : "the large string which in the picture"} 所以我想开发它并在 2 个请求中发送字符串,但是当我尝试使用时,Length / 2我得到了那个大字符串的一半,但没有像在跟随图片: 在此处输入图像描述

我想用完整的行获得该字符串的一半以避免请求超时

给我结果的代码:

            DataPart1.data = Encoding.ASCII.GetString(dataByte.Take(dataByte.Length / 2).ToArray());

            DataPart2.data = Encoding.ASCII.GetString(dataByte.Skip(DataPart1.data.Count()).ToArray()).ToString();

标签: c#linq

解决方案


要找到要拆分字符串的确切索引,您可能需要尝试使用该方法查找最接近\r\n字符串中间的索引。String.IndexOf(string value, int startIndex)代码看起来像

var str = "1,2,3,4\r\n5,6,7,8\r\n9,10,11,12";
var half = str.Substring(0, str.IndexOf("\r\n", str.Length / 2));

这导致"1,2,3,4\r\n5,6,7,8"

您可能希望为字符串的中间是否在最后一行内或使用的行分隔符不是\r\n.


推荐阅读