如何删除 python 中字符串中特定区域的空格?
How to remove whitespaces at a particular region in a string in python?
我正在尝试删除字符串中特定区域的空格以获得特定输出。
我拥有的不同字符串集是:
gehehntk 45.5 % 43 - 83 5243 /g.mt 25674 - 65748
bin 9.6 md% 346347 - 36537
tub 31.8 % 3658 - 5585 calci
所以我想要的输出是:
gehehntk 45.5 % 43-83 5243 /g.mt 25674-65748
bin 9.6 md% 346347-36537
tub 31.8 % 3658-5585 calci
我尝试使用正则表达式但无法实现输出:
r"\b.*?\s(\d+(?:\.\d+)?)(?!\S)"
我们可以在这里尝试使用 re.sub
:
inp = """Polymorphs 60.3 % 40 - 80 5246 /c.mm 2000 - 7000
Haemoglobin 9.6 gm% 12.0 - 15.0
PCV 31.8 % 36 - 46 Calculated"""
output = re.sub(r'\b(\d+)\s+-\s+(\d+)\b', r'-', inp)
print(output)
这会打印:
Polymorphs 60.3 % 40-80 5246 /c.mm 2000-7000
Haemoglobin 9.6 gm% 12.0-15.0
PCV 31.8 % 36-46 Calculated
如果只需要将“-”替换为“-”,可以使用replace
s= """Polymorphs 60.3 % 40 - 80 5246 /c.mm 2000 - 7000
Haemoglobin 9.6 gm% 12.0 - 15.0
PCV 31.8 % 36 - 46 Calculated"""
print(s.replace (" - ", "-"))
我正在尝试删除字符串中特定区域的空格以获得特定输出。
我拥有的不同字符串集是:
gehehntk 45.5 % 43 - 83 5243 /g.mt 25674 - 65748
bin 9.6 md% 346347 - 36537
tub 31.8 % 3658 - 5585 calci
所以我想要的输出是:
gehehntk 45.5 % 43-83 5243 /g.mt 25674-65748
bin 9.6 md% 346347-36537
tub 31.8 % 3658-5585 calci
我尝试使用正则表达式但无法实现输出:
r"\b.*?\s(\d+(?:\.\d+)?)(?!\S)"
我们可以在这里尝试使用 re.sub
:
inp = """Polymorphs 60.3 % 40 - 80 5246 /c.mm 2000 - 7000
Haemoglobin 9.6 gm% 12.0 - 15.0
PCV 31.8 % 36 - 46 Calculated"""
output = re.sub(r'\b(\d+)\s+-\s+(\d+)\b', r'-', inp)
print(output)
这会打印:
Polymorphs 60.3 % 40-80 5246 /c.mm 2000-7000
Haemoglobin 9.6 gm% 12.0-15.0
PCV 31.8 % 36-46 Calculated
如果只需要将“-”替换为“-”,可以使用replace
s= """Polymorphs 60.3 % 40 - 80 5246 /c.mm 2000 - 7000
Haemoglobin 9.6 gm% 12.0 - 15.0
PCV 31.8 % 36 - 46 Calculated"""
print(s.replace (" - ", "-"))