当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《Golang:从文本文件中替换字符串中的换行符的问题》经验,为你挑选了1个好方法。

我一直试图读取一个文件,然后将读取的材料放入一个字符串中.然后字符串将逐行分成多个字符串:

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, " ")

将文本变成了一个乱七八糟的混乱:

他的食物atot

我不确定如何更换新行会如此糟糕到文本反转的程度



1> 小智..:

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

re = regexp.MustCompile(`\r?\n`)
input = re.ReplaceAllString(input, " ")

反引号将确保您不需要在正则表达式中引用反斜杠.我使用问号回车,以确保您的代码也适用于其他平台.

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有