input_data = '(" is:456,value: 567") ,("is:456,value:865")'
def strlist_to_list(str_list, separator=','): # rozdel string podle znaku do listu a trimuj ze zacatku a konce netisknutelne znaky
out_list = []
in_list = str_list.split(separator)
for i, item in enumerate(in_list):
item = item.strip()
if item != '':
out_list.append(item)
return out_list
def get_from_input(input_data, find_value):
input_data = input_data.replace(') ,', '),') # vyhod mezery mezi )_, a ,_(
input_data = input_data.replace(', (', ',(')
input_data = input_data.strip('"') # vygumuj "
list_data = strlist_to_list(input_data, '),(') # rozdel na list podle znaku ),(
if len(list_data) > 0:
list_data[0] = list_data[0].strip('(') # vygumuj uplne prvni (
list_data[len(list_data) - 1] = list_data[len(list_data)-1].strip(')') # vygumuj posledni
for i in range(0, len(list_data)):
list_data[i] = list_data[i].strip('"') # vyhod " ze zacatku a konce
list_data[i] = list_data[i].strip() # a mezery
out_data = [] # seber vysledky
for line in list_data:
line_values = strlist_to_list(line, ',')
if len(line_values) > 1:
if line_values[0] == find_value: # is:xxx cast je find_value (is:456), tak dej druhou pulku k vysledkum (value: 567)
out_data.append(line_values[1])
return out_data
# start
print('vstup:')
print(input_data)
print('')
filtered_data = get_from_input(input_data, 'is:456')
print('vystup:')
for data_line in filtered_data:
print(data_line)