string - 如何从字符串中删除尾随 "\r\n"

标签 string go

我尝试使用以下代码,但得到的结果是相同的字符串:

package main

import (
    "fmt"
    "strings"
)

func main() {
    var s = "\b\x02\b\x02\r\n"
    a := fmt.Sprintf("%q", s)
    fmt.Println("a:", a)
    b := strings.TrimRight(a, "\r\n")
    fmt.Println("b:", b)
}

最佳答案

strings.TrimRight()工作得很好。在您的案例中,“问题”是存储在 a 变量中的 string不以 结尾“\r\n ".

这是因为您使用 fmt.Sprintf() “引用”了它, 并且字符串将以 "\\r\\n" 结尾,另外还要加一个双引号(即以反斜杠结尾,字母 r,另一个反斜杠,字母 n 和一个双引号字符)。

如果你不引用你的字符串,那么:

var s = "\b\x02\b\x02\r\n"
fmt.Printf("s: %q\n", s)
b := strings.TrimRight(s, "\r\n")
fmt.Printf("b: %q\n", b)

输出(在 Go Playground 上尝试):

s: "\b\x02\b\x02\r\n"
b: "\b\x02\b\x02"

关于string - 如何从字符串中删除尾随 "\r\n",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54328876/

相关文章:

windows - 使用 lxn/win 在 golang 中处理 LPTSTR

python - 计算字符串中尾随换行符的数量

c - 字符串函数返回段错误

c++ - 我需要知道如何将 c 字符串从一个变量复制到另一个变量,以便让第三个函数在我的程序中工作

java - 如何在java中使用正则表达式和修剪从字符串中删除不必要的空格

go - 使用 Golang 启动 D-Bus 服务

去测试验证 connect2id 给出 "invalid_client"错误

python - 对带有异常的字符串进行标题化

email - SMTP 错误 : 534 when sending email through gmail in golang app

json - 解码后的 json 响应返回空结构