在正则表达式替换字符串中逃脱美元符号

时间:2017-08-08 16:19:43

标签: regex go

我有一个函数,我需要用“$ ball”替换“byte”。这似乎不正常。 这是程序片段。

fun main() {

    str := []byte("$apple in a byte\n")
    strReplace := "$ball"

    re := regexp.MustCompile("byte")

    final := re.ReplaceAll(str, []byte(strReplace))

    ioutil.WriteFile("testfile.txt", final, 0744)
}

testfile.txt中的预期输出:     $ apple in $ ball

testfile.txt中的实际输出:     $ apple in a

成功获得所需输出的任何解决方案?

1 个答案:

答案 0 :(得分:2)

您使用$$,这正是文档告诉您的内容。

ReplaceAllhttps://godoc.org/regexp#Regexp.ReplaceAll)的godoc部分告诉您:

  

$符号在Expand

中解释

因此阅读Expand部分有答案。 https://godoc.org/regexp#Regexp.Expand

在发布问题之前,请仔细阅读您正在使用的包裹和功能的所有相关文档。