如何使用Regexp package ReplaceAll函数替换Go中的字符?
我不熟悉C-like语法,想编写代码来查找和替换源字符串中的所有“A”到“B”,使用Regexp包ReplaceAll或ReplaceAllString函数来替换“ABBA”?如何设置Regexp、src和repl类型?以下是Go文档中的ReplaceAll: }如何使用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
这是一个你想做什么的例行程序:
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)
}