亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將多個月份字符串替換為月份整數

將多個月份字符串替換為月份整數

Go
當年話下 2022-07-11 10:24:33
我正在使用如下字符串:"JAN-5,Feb,6 dec=900"我正在尋找用它們各自的月份 int 值替換月份字符串。所以上面將等同于:"1-5,2,6 12=900"我知道使用不區分大小寫的正則表達式可能是可行的方法,但是我只看到了如何一次將其應用于一個月的示例,這似乎效率低下,例如:re := regexp.MustCompile(`(?i)jan`) fmt.Println(re.ReplaceAllString("JAN-5,Feb,6 dec=900", "1"))有沒有更簡單的方法來做到這一點,而不是對字符串應用 12 種不同的正則表達式測試?
查看完整描述

1 回答

?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

使用降低字符串strings.ToLower(),然后您可以使用strings.Replacer12 個月的單個“步驟”中的所有可能替換:


var r = strings.NewReplacer(

    "jan", "1",

    "feb", "2",

    "mar", "3",

    "apr", "4",

    "may", "5",

    "jun", "6",

    "jul", "7",

    "aug", "8",

    "sep", "9",

    "oct", "10",

    "nov", "11",

    "dec", "12",

)


func main() {

    s := "JAN-5,Feb,6 dec=900"


    s2 := r.Replace(strings.ToLower(s))


    fmt.Println(s2)

}

這將輸出(在Go Playground上嘗試):


1-5,2,6 12=900


查看完整回答
反對 回復 2022-07-11
  • 1 回答
  • 0 關注
  • 125 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號