从 Go 中的字符串中提取匹配模式
短信预约 -IT技能 免费直播动态提醒
编程网今天将给大家带来《从 Go 中的字符串中提取匹配模式》,感兴趣的朋友请继续看下去吧!以下内容将会涉及到等等知识点,如果你是正在学习Golang或者已经是大佬级别了,都非常欢迎也希望大家都能给我建议评论哈~希望能帮助到大家!
问题内容如何根据模式从字符串中提取值?
这是我的模式:Member-[A-Za-z]+-Age%d+
示例:Member-John-Age50
、Member-Peter-Age120
我想在给定与模式匹配的字符串的情况下提取 name
和 age
。
解决方案
-[a-za-z]+-
代表姓名,\d+
代表年龄。例如:
import "regexp"
import "fmt"
func main() {
r, _ := regexp.Compile(`Member-([A-Za-z]+)-Age(\d+)`) // Pay attention, no ", instead `
name, _ := regexp.Compile(`-[A-Za-z]+-`)
age, _ := regexp.Compile(`\d+`)
matched_strings := r.FindAllString("oMember-John-Age50, jvienvujfeuvfejvwMember-Peter-Age120jvfjemvfjenvfeuvnuru", -1)
for i := range matched_strings {
name := name.FindString(matched_strings[i])
name = name[1:len(name)-1]
age := age.FindString(matched_strings[i])
fmt.Println(name, age) // John 50, Peter 120
}
}
现在这是我尝试继续使用正则表达式,当然你可以用其他方式来做。姓名和年龄应存储在变量中,您可以根据需要使用它们。
今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注编程网公众号,一起学习编程~
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341