#!/usr/bin/python3
# ===================================================================
# split string into parameters using regular expressions
# comma used as a separator not a terminator
# parameters are striped of start and end whitespace
# ===================================================================
import user_interface as ui
import re
# -------------------------------------------------------------------
# ---- remove prefix from string
# -------------------------------------------------------------------
def remove_prefix(s,prefix):
return s[len(prefix):]
# -------------------------------------------------------------------
# ---- split string into parameters
# ---- (comma is a separator not a tereminator)
# -------------------------------------------------------------------
def split_into_parameters(s):
a = [] # parameter array
while True:
m = re.search('^.*?,',s) # parameter match?
if m: # match?
p = m.group() # prefix
a.append(p.replace(',','').strip())
s = remove_prefix(s,p)
else: # no match
a.append(s.strip())
break
return a
# -------------------------------------------------------------------
# ----- main
# -------------------------------------------------------------------
if __name__ == '__main__':
if not ui.running_python3():
print()
print('Must run Python3 - exit program')
print()
sys.exit()
while True: # loop
ui.clear_screen()
print()
s = ui.get_user_input('Enter param string: ')
if not s: # empty string?
break
print()
a = split_into_parameters(s)
print(f'param list length = {len(a)}')
for x in a:
print(f'param: "{x}"')
ui.pause()