如何使用Regexp package ReplaceAll函数替换Go中的字符?

如何使用Regexp package ReplaceAll函数替换Go中的字符?,regex,go,replace,Regex,Go,Replace,我不熟悉C-like语法,想编写代码来查找和替换源字符串中的所有“A”到“B”,使用Regexp包ReplaceAll或ReplaceAllString函数来替换“ABBA”?如何设置Regexp、src和repl类型?以下是Go文档中的ReplaceAll: } 这是一个你想做什么的例行程序: package main import ("fmt"; "regexp"; "os"; "strings";); func main () { reg, error := regexp.Com

我不熟悉C-like语法,想编写代码来查找和替换源字符串中的所有“A”到“B”,使用Regexp包ReplaceAll或ReplaceAllString函数来替换“ABBA”?如何设置Regexp、src和repl类型?以下是Go文档中的ReplaceAll:

}

这是一个你想做什么的例行程序:

package main
import ("fmt"; "regexp"; "os"; "strings";);
func main () {
    reg, error := regexp.Compile ("B");
    if error != nil {
        fmt.Printf ("Compile failed: %s", error.String ());
        os.Exit (1);
    }
    output := string (reg.ReplaceAll (strings.Bytes ("ABBA"),
                      strings.Bytes ("A")));
    fmt.Println (output);
}

这是做你想做的事情的例行程序:

package main
import ("fmt"; "regexp"; "os"; "strings";);
func main () {
    reg, error := regexp.Compile ("B");
    if error != nil {
        fmt.Printf ("Compile failed: %s", error.String ());
        os.Exit (1);
    }
    output := string (reg.ReplaceAll (strings.Bytes ("ABBA"),
                      strings.Bytes ("A")));
    fmt.Println (output);
}

这里有一个小例子。你也可以在他身上找到很好的例子


这里有一个小例子。你也可以在他身上找到很好的例子


string()
是我所需要的。strings.Bytes在go1.7中似乎不起作用。我必须使用
actual:=string(re.ReplaceAll([]字节(输入),[]字节(替换))
string()
是我所需要的。strings.Bytes在go1.7中似乎不起作用。我必须使用
actual:=string(re.ReplaceAll([]字节(输入),[]字节(替换))
我如何一次处理两个替换:A->B,B->A,所以ABBA在一步之内变成了BAAB?你为什么问我而不是你接受答案的人?天啊,我在这里太新手了,我甚至不知道我只能接受很多答案中的一个,当我尝试它们时,两个答案都被接受了。哦,好的。Go的正则表达式非常原始,没有简单的方法来做你想做的事情(交换A和B),所以你必须做三个单独的交换(A->X,B->A,X->B)来实现这一点。我必须使用reactal:=string(re.ReplaceAll([]字节(“ABBA”),[]字节(“A”))。以防万一2017年后有人偶然发现这个答案:)我怎么能同时处理两个替换:A->B,B->A,那么阿巴一步就变成了巴布?你为什么问我而不是你接受答案的人?天哪,我在这里太新手了,我甚至不知道我只能接受很多答案中的一个,当我尝试它们时,两个答案都被接受了。哦,好的。Go的正则表达式非常原始,没有简单的方法来做你想做的事情(交换A和B),所以你必须做三个单独的交换(A->X,B->A,X->B)来实现这一点。我必须使用reactal:=string(re.ReplaceAll([]字节(“ABBA”),[]字节(“A”))。以防万一2017年后有人偶然发现了这个答案:)
package main

import (
    "fmt"
    "regexp"
    "strings"
)

func main() {
    re, _ := regexp.Compile("e")
    input := "hello"
    replacement := "a"
    actual := string(re.ReplaceAll(strings.Bytes(input), strings.Bytes(replacement)))
    fmt.Printf("new pattern %s", actual)
}