Golang:替换文本文件中字符串中的换行符的问题

我一直试图读取文件,然后将读取的内容放入字符串中。然后,该字符串将按行拆分为多个字符串:

absPath, _ := filepath.Abs("../Go/input.txt")

data, err := ioutil.ReadFile(absPath)

if err != nil {

panic(err)

}

input := string(data)

input.txt读取为:

一个

强壮的小鸟

与一个非常

宽容的心

一天上学

忘记了他的食物

然而,

re = regexp.MustCompile("\\n")

input = re.ReplaceAllString(input, " ")

将文本变成混乱的混乱:

他的食物

我不确定替换换行符会如何严重破坏文本本身

回答:

我猜您正在使用Windows运行代码。请注意,如果您打印出结果字符串的长度,它将显示超过100个字符。原因是Windows不仅使用换行符(\n),而且还使用回车符(\r)-因此,Windows中的换行符实际上是\r\n,而不是\n。要从字符串中正确过滤掉它们,请使用:

re = regexp.MustCompile(`\r?\n`)

input = re.ReplaceAllString(input, " ")

反引号将确保您无需在正则表达式中引用反斜杠。我使用问号作为回车符,以确保您的代码也可以在其他平台上使用。

以上是 Golang:替换文本文件中字符串中的换行符的问题 的全部内容, 来源链接: utcz.com/qa/431659.html

回到顶部