Если строка либо соответствует этому формату, например 'a,b,c,d' (где a, b, c, d все int), либо полностью пуста.
Например:
179,170,271,83
null
143,406,299,44
145,403,299,44
142,404,299,44
31,450,337,36
null
90,269,242,32
87,266,244,35
null
272,251,223,119
27,40,316,10
Как я могу сохранить значение a, b, c, d?
Я пробовал использовать разделительную запятую и проверять пустую строку, но это не помогает
if string:
txt = string.split(',')
height = txt[0]
left = txt[1]
top = txt[2]
width = txt[3]
else:
height = ""
left = ""
top = ""
width = ""
У вас действительно есть пустые строки, а также строки, содержащие строку null?






В Python принято использовать try/except в таких случаях, а не сначала тестировать. Это часто называют просить прощения, а не разрешения. Для этого вы можете обернуть ожидаемый случай в try и установить крайний случай в исключением:
def printDims(s):
try:
height, left, top, width = s.split(',')
except ValueError:
height, left, top, width = [''] * 4
finally:
print(height, left, top, width)
printDims("1,2,3,4") # prints 1, 2, 3, 4
printDims("") # prints the empty strings
Я буду смотреть в него. ты :)
Проверьте длину txt:
if string:
txt = string.split(',')
if len(txt) == 4:
height = txt[0]
left = txt[1]
top = txt[2]
width = txt[3]
else:
height = ""
left = ""
top = ""
width = ""
else:
height = ""
left = ""
top = ""
width = ""
Большое спасибо, все заработало! Наверное, я не проверил длину.
Как вы читаете свой вклад? Можете ли вы опубликовать примеры для непустой строки и пустой строки из вашего ввода?