如何使用golang替换字符串

时间:2019-01-10 12:02:51

标签: regex string go

我正在制作一个命令行工具,用于在golang中使用urfave/cli软件包的地方发送电子邮件 我已经制作了一切正常的应用程序,但卡在一个字符串替换部分上。

基本上,我想转换一个字符串

  

info@gmail.com,vik@hotmail.com,myemailid@yahoo.com

  

“ info@gmail.com”,“ vik@hotmail.com”,“ myemailid@yahoo.com”

我尝试了正则表达式替换,但是并没有给我准确的结果。因此我在使用String.Split并用','分隔的地方操纵代码,但此后,情况变得复杂了。有人可以帮我吗

1 个答案:

答案 0 :(得分:1)

要转换值,只需运行以下命令即可:

package main

import (
    "fmt"
    "strings"
)

func main() {
    input := "info@gmail.com,vik@hotmail.com,myemailid@yahoo.com"
    emails := strings.Join(Map(strings.Split(input, ","), func(in string) string {
        return fmt.Sprintf(`"%s"`, in)
    }), ",")

    fmt.Printf("%v", emails)
}

func Map(vs []string, f func(string) string) []string {
    vsm := make([]string, len(vs))
    for i, v := range vs {
        vsm[i] = f(v)
    }
    return vsm
}

https://play.golang.org/p/M0xfCkpT6uD

祝你好运。