gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 02:30:09 26 4
gpt4 key购买 nike

play清楚地证明了我的困境。

最终我试图将一个不守规矩的字符串拆分成单词。对我来说,“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" :(

最佳答案

[,-:] 匹配 ,: 范围内的所有字符。该范围恰好包含所有 ASCII 数字(参见 ascii(7) )。将 - 放在末尾:

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

关于go - 为什么在 regex.ReplaceAllString() 中删除数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29235887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com