首页 > 解决方案 > Go strings.Replace(input, "\n", "", -1) 无法识别

问题描述

我正在尝试处理用户输入的字符串,并编写以下代码。

import (
    "bufio"
    "fmt"
    "os"
    "strings"
)

func main() {
    var input string
    fileScanner := bufio.NewScanner(os.Stdin)
    fileScanner.Scan()
    input = fileScanner.Text()
    replaced := strings.Replace(input, "\n", "", -1)
    fmt.Println(replace)
}

但是我发现“\n”没有被替换为“”。"\n" 似乎不是一个字符串。我尝试过这个 ”。” 或“,”而不是“\ n”,它可以工作。
我刚开始学习围棋,这个问题可能太基础了,但我感谢任何建议。

标签: go

解决方案


"\" 字符在格式化字符串中被处理为转义字符,因此不会被替换为strings.Replace

如果您真的想替换 \n 字符本身,而不是将其放在原始字符串文字中的新行应该会有所帮助。参考下面的代码:

package main

import (
    "fmt"
    "strings"
)

func main() {
    var input string
    input = `\naaa`
    replaced := strings.Replace(input, `\n`, "", -1)
    fmt.Println(replaced)
}

推荐阅读