gpt4 book ai didi

python - 将字母和数字组合在一起作为序数

转载 作者:行者123 更新时间:2023-12-03 01:53:09 26 4
gpt4 key购买 nike

目的是删除数字和序数缩写(st,rd,th,nd)之间的空格。

例如,以下数字和缩写应组合在一起形成 10th、1st 和 133rd:

10   th elementary
1 st grade
133 rd anniversary

但是,这些其他示例不允许一起设置:

abc123 th 33333    rddccc
10 thetree
20 street

为此目的,我提出了以下正则表达式:

(?<=[0-9])+\s+(?=(st|nd|rd|th)\b)

但是它也将以前不允许的字符串设置在一起。

你知道如何将正确的序数组合在一起吗?

最佳答案

您可以在正向先行中添加另一部分,以断言后面的内容是除下划线或数字之外的单词字符,或者断言字符串的结尾,以防它是最后一次出现:

(?<=[0-9])\s+(?=(?:st|[rn]d|th)(?: [^\W\d_]|$))

Regex demo

请注意,您可以在正向后查找之后省略 +,并且可以将交替缩短为 [rn]d

关于python - 将字母和数字组合在一起作为序数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59902994/

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