假设我有以下字符串,来自包含类似字符串的文件:
Andorra la Vella|ad|Andorra la Vella|20430|42.51|1.51|
Canillo|ad|Canillo|3292|42.57|1.6|
Encamp|ad|Encamp|11224|42.54|1.57|
La Massana|ad|La Massana|7211|42.55|1.51|
...
如何使用正则表达式打印第一个数字(或每个字符串的第四个字段)?
而且,如果第四个数字超过10000,我如何打印特定行的前4个字段(例如“Andorra la Vella”“ad”“Andorra la Vella”20430)?
最佳答案
你不需要正则表达式。
s = """
Andorra la Vella|ad|Andorra la Vella|20430|42.51|1.51|
Canillo|ad|Canillo|3292|42.57|1.6|
Encamp|ad|Encamp|11224|42.54|1.57|
La Massana|ad|La Massana|7211|42.55|1.51|
"""
for line in s.splitlines(): # pretend we are reading from a file
if not line:
continue # skip empty lines
groups = line.split('|') # splits each line into its segments
if int(groups[3]) > 10000: # checks if the 4th value is above 10000
print groups[:4] # prints the first 4 values
else:
print groups[3] # prints the 4th value
>>>
['Andorra la Vella', 'ad', 'Andorra la Vella', '20430']
3292
['Encamp', 'ad', 'Encamp', '11224']
7211
关于python - 如何从Python中类似的字符串中获取值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20032871/