在数字和字符串 python 之间添加 space

add space between number and string python

我想在数字和文字之间添加space

示例字符串:ABC24.00XYZ58.28PQR

输出:ABC 24.00 XYZ 58.28 PQR

请告诉我答案。

非常感谢。

您可以使用 re.sub 向后引用捕获的组来添加空格:

s = 'ABC24.00XYZ58.28PQR'

 re.sub('(\d+(\.\d+)?)', r'  ', s).strip()
# 'ABC 24.00 XYZ 58.28 PQR'

demo

连接字符串和转换后的数字为字符串类型:

print ("AB" + " "+ str(34)) //or
print ("AB " + str(34))

如果要在字符串中添加空格,请使用正则表达式,请参考:

您可以使用 re.split 将输入字符串分隔成标记列表。然后通过 space.

加入所有这些标记
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())