我有一个有趣的问题要解决。由于要使用的工具,我需要将换行符转换为文字字符串\n
,我有以下数据
{"name": 2019-05-25,
"tracker": {
"project": {
"uri": "/project/87",
"name": "Allen's Test"
},
"uri": "/tracker/57483",
"name": "Tasks"
},
"description": "[{Table
||Stack
||Current Version
||New Version
||Changes
|common
|1.0.214
|1.0.214
|* blah - [#345|https://blah.com/345]
|workflow
|2.2.23
|2.2.23
|* [ES-12345] blah - [#1087|https://blah.com/1087]
}]",
"descFormat": "Wiki"}
所以基本上不是多行字符串,我需要使用\ n将其转换为单行字符串,后端的工具将对其进行转换。我正在使用go,但不太确定从哪里开始。我假设我需要原始字符串,但是许多源位是内置了换行符的api调用。
任何帮助将不胜感激。
答案 0 :(得分:1)
我觉得这是一个XY问题...
但是要简单地将换行符'\ n'替换为2个字符的字符串\n
,请使用:
strings.ReplaceAll(data, "\n", "\\n")
游乐场:https://play.golang.org/p/Xmg4pgqFy5O
输出:
{"name": 2019-05-25,\n"tracker": {\n"project": {\n "uri": "/project/87",\n ....
注意:这不会不处理其他格式字符,例如制表符({\t
)回车符(\r
)等。>
答案 1 :(得分:1)
例如,
package main
import (
"fmt"
"strings"
)
func main() {
s := `"project": {
"uri": "/project/87",
"name": "Allen's Test"
},`
fmt.Println(s)
s = strings.ReplaceAll(s, "\n", `\n`)
fmt.Println(s)
}
游乐场:https://play.golang.org/p/lKZw78yOuMc
输出:
"project": {
"uri": "/project/87",
"name": "Allen's Test"
},
"project": {\n "uri": "/project/87",\n "name": "Allen's Test"\n},
对于Go 1.12之前的版本,请输入:
s = strings.Replace(s, "\n", `\n`, -1)