知识点掌握了,还需要不断练习才能熟练运用。下面编程网给大家带来一个golang开发实战,手把手教大家学习《将多个月份字符串替换为月份整数》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,
知识点掌握了,还需要不断练习才能熟练运用。下面编程网给大家带来一个golang开发实战,手把手教大家学习《将多个月份字符串替换为月份整数》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!
问题内容我正在使用如下字符串:
"1月5日,2月,12月6日=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 个不同的正则表达式测试之外,是否有更简单的方法来执行此操作?
使用 strings.ToLower()
降低字符串,然后您可以使用带有 12 个月的单个 strings.Replacer
,这可以在一个“步骤”中完成所有可能的替换:
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
今天关于《将多个月份字符串替换为月份整数》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注编程网公众号!
--结束END--
本文标题: 将多个月份字符串替换为月份整数
本文链接: https://www.lsjlt.com/news/596228.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-05
2024-04-05
2024-04-05
2024-04-04
2024-04-05
2024-04-05
2024-04-05
2024-04-05
2024-04-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0