我有一个大型数据集,我需要在其中进行一些字符串操作(我知道字符串是不可变的)。 strings
包中的 Replace()
函数完全满足我的需要,只是我需要它进行反向搜索。
假设我有这个字符串:AA-BB-CC-DD-EE
运行这个脚本:
package main
import (
"fmt"
"strings"
)
func main() {
fmt.Println(strings.Replace("AA-BB-CC-DD-EE", "-", "", 1))
}
它输出:AABB-CC-DD-EE
我需要的是:AA-BBCCDDEE
,其中找到搜索键的第一个实例,其余的被丢弃。
拆分字符串,插入破折号,然后将其重新连接在一起。但是,我认为有一种更高效的方法可以实现这一目标。
最佳答案
字符串 slice !
in := "AA-BB-CC-DD-EE"
afterDash := strings.Index(in, "-") + 1
fmt.Println(in[:afterDash] + strings.Replace(in[afterDash:], "-", "", -1))
(在输入没有破折号的情况下,可能需要进行一些调整以获得您想要的行为)。
关于go - 从 strings.Replace() Golang 倒置返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33310172/