ola, preciso fazer um split em python, mas com o delimitador de um array [RESOLVIDO]

1. ola, preciso fazer um split em python, mas com o delimitador de um array [RESOLVIDO]

shoujo
shoujo

(usa Slackware)

Enviado em 12/02/2018 - 11:00h

Vou tentar explicar o que preciso:
tenho uma variavel qualquer
v="-c asldkslkd -t asds5-6d5-sa6d"

preciso dar um split nessa variavel, porem preciso que tenha varios delimitadores, quero que ele de split onde tiver -c -t e outros parametros
algo tipo assim
parametros=["-c", "-t"]
vDiv=v.split(parametros)

e o resultado seria assim
vDiv[0] = " asldkslkd "
vDiv[1] = " asds5-6d5-sa6d"

ou algo do tipo vDiv=v.split("-c||-t") << tipo assim -c ou -t

Tem alguma maneira de fazer isso?


  


2. MELHOR RESPOSTA

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 12/02/2018 - 17:36h

De uma forma simples e bem rústica:
>>> variable = "-c asldkslkd -t asds5-6d5-sa6d"

>>> def get_arg(variable, key):
... list_args = variable.split() # Transforma a variável em uma lista
... arg_index = list_args.index(key) # Pega a posição do argumento na lista
... return list_args[arg_index+1] # Retorna o valor do agumento

>>> get_arg(variable, '-c')
'asldkslkd'
>>> get_arg(variable, '-t')
'asds5-6d5-sa6d'



3. Re: ola, preciso fazer um split em python, mas com o delimitador de um array

shoujo
shoujo

(usa Slackware)

Enviado em 14/02/2018 - 10:53h

resolvi a questao, e também um pequeno bug da sua funcao assim:

class pegaPropriedade:
def __init__(self):
self.prps=[]

def pegaPropriedades(self, variavel, key):
list_args = variavel.split()
arg_index = list_args.index(key)
resultado=""
try:
for n in range(arg_index+1, len(list_args)):

if list_args[n] in self.prps:
break;
else:
if (list_args[n])[0:1]=="-":
break;
resultado+= list_args[n]+" "

return resultado

except:
return "Erro"


q=pegaPropriedade()
q.prps=["-c", "-h", "-i"]
q.variavel="!ul -i nav-mobile -c right hide-on-med-and-down -h #"
print q.pegaPropriedades("-h")







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts