go - 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”,它可以工作。
我刚开始学习围棋,这个问题可能太基础了,但我感谢任何建议。
解决方案
"\" 字符在格式化字符串中被处理为转义字符,因此不会被替换为strings.Replace
如果您真的想替换 \n 字符本身,而不是将其放在原始字符串文字中的新行应该会有所帮助。参考下面的代码:
package main
import (
"fmt"
"strings"
)
func main() {
var input string
input = `\naaa`
replaced := strings.Replace(input, `\n`, "", -1)
fmt.Println(replaced)
}
推荐阅读
- laravel - laravel 7 中的 Predis\Connection\ConnectionException 错误
- python - argparse 自定义操作 OOP
- flutter - 如何在flutter上为listview builder每页显示一个项目(同时显示下一个项目的提示)?
- .net-core - .NET Core 中“发布”和“调试”的真正区别
- javascript - 如果重写,如何访问本机 Javascript 函数?
- javascript - 输入文本未保存在 Javascript 中的模式上
- javascript - this.props.navigation.goBack() 未定义且不会在 React Native 中推回
- api - API 设计:随每个请求发送完整模型或发送一次然后通过 ID 访问它
- jquery - 将 HTML 数据从表单发送到 JSON 文件 (Ajax/Jquery)
- kotlin - 为什么 Android geRestrictBackgroundStatus 总是返回相同的值,无论我对应用程序进行什么设置?