c# - 将 ':' 分隔字符串拆分为给定数量的结果/记录长度可变的 block 的最快方法是什么

标签 c#

我有一个从 TCP 监听器接受的大字符串,格式如下

"1,7620257787,0123456789,99,0922337203,9223372036,32.5455,87,12.7857,1/1/2012,9223372036:1,7620257787,0123456789,99,0922337203,9223372036,32.5455,87,12.7857:2/1/2012,234234234:3,7620257787,01234343456789,99,0922337203,9223372036,32.5455,87,12.7857,1/1/2012,9223372036:34,76202343457787,012434343456789,93339,34340922337203,9223372036,32.5455,87,12.7857, 1/1/2012,9223372036"

您可以看到这是一个 : 分隔的字符串,其中包含以逗号分隔的字段的记录。

我正在寻找将字符串拆分为给定数量的 block 的最佳(最快)方法,并注意一个 block 应包含完整记录(字符串最多为“:”)

或者换句话说,不应该有任何不以 :

结尾的 block

例如20 MB 字符串到 4 个 block ,每个 block 5 MB,每个 block 都有适当的记录(因此每个 block 的大小可能不正好是 5 MB,但非常接近它,所有 4 个 block 的总和将是 20 MB)

我希望你能理解我的问题(抱歉英语不好)

我喜欢下面的链接,但它在拆分时不处理完整记录,也不知道这是否是最好和最快的方法。

Split String into smaller Strings by length variable

最佳答案

我不知道“大字符串”有多大,但最初我只是尝试使用 String.Split方法。

关于c# - 将 ':' 分隔字符串拆分为给定数量的结果/记录长度可变的 block 的最快方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11394020/

相关文章:

c# - 如何知道System.Windows.Forms.dll中System.InvalidOperationException的细节?

c# - 系统中存在的 dot Net Web 浏览器对象和 Internet Explorer 之间有什么关系?

c# - 每个资源有一个 Web API Controller ,还是有更多自定义操作的更少 Controller ?

c# - 尝试使用 C#.Net 编码 HMAC-SHA256

c# - Task.ContinueWith 不调用第二个任务(仅第一个任务正在运行)

c# - Entity Framework 如何处理大量记录?

c# - 为什么 Entity Framework Core 2.2 C# 在使用现有嵌套实体插入新实体时会响应错误

C# DynamicObject 动态属性

c# - 如何在我的 View 中单击按钮时从 session ["cart"] 中删除项目?

c# - 是否有System.Threading.SynchronizationContext.Current.PostAsync()?