我有大量来自外部聚合系统的数据。与我的问题相关的数据部分是字符串数组。示例(不是真实的,但非常具有说明性):
字符串的总数接近100M。它们的主要目的是向网站上的用户显示。
如您所见,所有字符串都自然地包含一些键值对的模式,或者可以转换为这种形式。当聚合器从另一个系统获取这些数据时,它会以某种方式丢弃分隔符。我在一个字符串中遇到了20多个这样的键值对。
第一个问题是如何在删除分隔符的位置恢复分隔符(\ r \ n)。另一个问题是如何将,
替换为\ r \ n,只有它是键值对的真实分隔符而不是值的一部分。值部分内的逗号不会被转义。
这两个问题导致模式提取,然后通过正则表达式替换。起初我打算手工提取图案,但这非常费时,并没有涵盖我经历的一些边缘案例。
我为这些问题寻找程序化解决方案。
字符串作为更大数据库的一部分存储在MSSQL表中。数据处理平台是用C#编写的。