我有以下简单的字符串:
a = "total net band width 13.5mm. 12.25mm 13.5mm 5mm 11.5mm speed"
如果第一个是数字,第二个是字母,如何在两个连续的字符之间插入空格?
到目前为止,这是我使用python regex尝试过的内容:
re.sub('\d+\.\d+', " ", a)
所需的输出:
"total net band width 13.5 mm. 12.25 mm 13.5 mm 5 mm 11.5 mm speed"
最佳答案
使用(
和)
创建捕获组。
然后使用\1
将该组的内容放入输出中:
re.sub(r'(\d+\.\d+)', r'\1 ', a)
当然,由于没有小数部分,因此对
5mm
失败。最好使用字符类:re.sub(r'(\d[\.\d]*)', r'\1 ', a)
如果您希望拒绝
5..6
之类的输入,则可以使用一些?
限定词。关于regex - python regex:在数字和字符之间放置空格,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54897565/