为了账号安全,请及时绑定邮箱和手机立即绑定

为什么在 regex.ReplaceAllString() 中删除数字

为什么在 regex.ReplaceAllString() 中删除数字

Go
慕沐林林 2021-09-27 10:40:13
这部剧清楚地表明了我的困境。最终,我试图将不守规矩的字符串拆分为单词。对我来说,“2015”是一个词,“$100”也是一个词,但如果输入是“One.2wo, (three)”,我想要 [One 2wo Three]。因为 go 不允许使用 Unicode 感知正则表达式,所以我想我会先删除所有“垃圾字符”,然后使用strings.Fields()问题是任何数字都被剥离了:reg := regexp.MustCompile(`[\[\](){}"?!,-:;,']`)fmt.Println(reg.ReplaceAllString("one 1 zer0", ""))// outputs "one  zer" when I'd expect "one 1 zer0" :(
查看完整描述

2 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

[,-:]匹配范围内的所有字符,– :。该范围恰好包含所有 ASCII 数字(请参阅ascii(7))。把 放在-最后:

reg := regexp.MustCompile(`[\[\](){}"?!,:;,'-]`)


查看完整回答
反对 回复 2021-09-27
  • 2 回答
  • 0 关注
  • 250 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信