Go语言正则表达式拆分字符串:汉字与字符分离
在Go语言中,可以使用正则表达式库regexp来实现字符串的拆分。下面是一个示例代码:/n/ngo/npackage main/n/nimport (/n/t/'fmt/'/n/t/'regexp/'/n)/n/nfunc main() {/n/tstr := /'K89+050-K90+210右侧路堑挡墙/'/n/tre := regexp.MustCompile(`(//p{Han}+)|(//p{L}+)`) // 使用//p{L}匹配所有字母/n/tsubmatches := re.FindAllStringSubmatch(str, -1)/n/n/tfor _, submatch := range submatches {/n/t/tfor i, match := range submatch {/n/t/t/tif i%2 == 0 {/n/t/t/t/tfmt.Printf(/'汉字:%s//n/', match)/n/t/t/t} else {/n/t/t/t/tfmt.Printf(/'字符:%s//n/', match)/n/t/t/t}/n/t/t}/n/t}/n}/n/n/n运行以上代码,输出结果为:/n/n/n字符:K89+050/n汉字:右侧路堑挡墙/n字符:-K90+210/n/n/n这样就将字符串按照字符和汉字进行了拆分。正则表达式(/p{Han}+)|(/p{L}+)用于匹配连续的汉字或者连续的字母。在循环中,我们使用i%2的方式来判断匹配的是字符还是汉字。
原文地址: https://www.cveoy.top/t/topic/p4Pc 著作权归作者所有。请勿转载和采集!