在数字和字符串 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())
我想在数字和文字之间添加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())