escaping - 转义换行符以便于人工编辑
问题描述
我有一个数据库,在最小示例中包含 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
尽管如此,当文本包含已经转义的行时,它仍需要任意深度转义,这既容易出错,又会让人类感到困惑。
我现在正在寻找一种易于人类使用且易于解析回数据库行的方案。
解决方案
推荐阅读
- python - 给定索引列表,如何在没有 for 循环的情况下进行多次添加操作?
- reactjs - Standard way of reconnecting to webSocket server in redux-Saga?
- android - 如何从服务器应用程序获取通知到客户端应用程序?
- shell - 使用 check_mk 监控本地端口的脚本
- python - 我在 matplotlib 文档上找不到类/属性
- java - 当我尝试运行我的 java 代码时,我无法找到或加载主类
- javascript - 为什么我需要使用 current.load() 而不仅仅是 .load()?
- javascript - 主脚本中的 Vuejs 模板限制
- r - ':=' 没有可见的全局函数定义
- automationanywhere - 在 Automation Anywhere 中将 PDF 表格提取到 Excel 中