我正在制作一个命令行工具,用于在golang中使用urfave/cli软件包的地方发送电子邮件 我已经制作了一切正常的应用程序,但卡在一个字符串替换部分上。
基本上,我想转换一个字符串
info@gmail.com,vik@hotmail.com,myemailid@yahoo.com
到
“ info@gmail.com”,“ vik@hotmail.com”,“ myemailid@yahoo.com”
我尝试了正则表达式替换,但是并没有给我准确的结果。因此我在使用String.Split
并用','分隔的地方操纵代码,但此后,情况变得复杂了。有人可以帮我吗
答案 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
祝你好运。