我想在数字和文本之间添加空格
示例字符串:ABC24.00XYZ58.28PQR
输出:ABC 24.00 XYZ 58.28 PQR
请让我知道答案。
非常感谢。
您可以使用re.split
将输入字符串分隔为标记列表。然后用空格连接所有这些标记。
import re
s = "ABC24.00XYZ58.28PQR"
split = [c for c in re.split(r'([-+]?\d*\.\d+|\d+)', s) if c]
result = " ".join(split)
print(result)
输出:
ABC 24.00 XYZ 58.28 PQR
正则表达式r'([-+]?\d*\.\d+|\d+)'
应该相当健壮,并且还可以检测类型的-12
浮点数+5.0
。
如果没有更多要求,您可以使用正则表达式:
import re
s = "ABC24.00XYZ58.28PQR"
s = re.sub("[A-Za-z]+",lambda group:" "+group[0]+" ",s)
print(s.strip())
连接字符串并将数字转换为字符串类型:
print ("AB" + " "+ str(34)) //or
print ("AB " + str(34))
如果要在字符串中添加空格,请使用 Regex 参考: python regex add space 只要数字与非数字相邻