首页 > 解决方案 > 转义换行符以便于人工编辑

问题描述

我有一个数据库,在最小示例中包含 columns type|text
现在我想将它转储到一个文本文件中,该文件可以由人工编辑,然后再次导入数据库。由于该text列可能包含换行符,因此我需要以某种方式对其进行转义。

一个例子就是转义换行符:

1|some text
2|some other text
1|this is\
multiline\
text
1|even more text

这两个缺点是,对于编辑数据的人来说,转义每一行结束是乏味的,而且多行文本条目很少见。

另一种方法可能是,将所有不以开头的[0-9]|行视为属于前一行,但多行文本可能包含以 开头的行[0-9]|,特别是因为人们可能会从这样的文本中添加行 -转储为新条目。所以这需要一些转义,比如

1|some text
2|this is multi-line
and does not need to be escaped
1|this is multi-line text
\1|with the next line escaped because it starts with 1|
1|even more text

尽管如此,当文本包含已经转义的行时,它仍需要任意深度转义,这既容易出错,又会让人类感到困惑。

我现在正在寻找一种易于人类使用且易于解析回数据库行的方案。

标签: escaping

解决方案


推荐阅读