dtqi87613 2019-01-10 12:02
浏览 64
已采纳

如何使用golang替换字符串

I am Making a command line tool for sending an email where I am using urfave/cli package from golang i had made the application where everything is working properly but got stuck with one string replacement part.

Basically, I want to convert a string

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

to

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

I tried regex substitution but that didn't give me an accurate result. so I manipulate my code where I used String.Split separated by ',' but after that the look around got complex. can anyone help me with this

  • 写回答

1条回答 默认 最新

  • dongmiao4733 2019-01-10 12:12
    关注

    To convert the value, simply run something like:

    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

    Good luck.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考