dongzhang1839
2017-08-08 16:19
浏览 269
已采纳

在正则表达式替换字符串中转义美元符号

I have a function in which I need to replace "byte" with "$ball". This doesn't seem to work correctly. Here is the program snippet.

fun main() {

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

    re := regexp.MustCompile("byte")

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

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

Expected Output in testfile.txt: $apple in a $ball

Actual Output in testfile.txt: $apple in a

Any solutions for successfully getting the desired output?

图片转代码服务由CSDN问答提供 功能建议

我有一个函数需要将“ byte”替换为“ $ ball”。 这似乎无法正常工作。 这是程序段。

  fun main(){
 
 str:= [] byte(“ $ apple in 一个字节
“)
 strReplace:=” $ ball“ 
 
 re:= regexp.MustCompile(” byte“)
 
 final:= re.ReplaceAll(str,[] byte(strReplace))  
 
 ioutil.WriteFile(“ testfile.txt”,最终版本0744)
} 
   
 
 

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

实际输出:

中的$ apple有成功解决所需输出的任何解决方案吗?

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • dongmeng1402 2017-08-08 16:24
    已采纳

    You use $$ which is exactly what the documentation tells you.

    The godoc section for ReplaceAll (https://godoc.org/regexp#Regexp.ReplaceAll) tells you:

    $ signs are interpreted as in Expand

    So reading the section for Expand has the answer. https://godoc.org/regexp#Regexp.Expand

    Please throughly read all relevant documentation for the package and functions you are using before posting a question.

    已采纳该答案
    打赏 评论

相关推荐 更多相似问题