Uma alternativa é usar partition(). O uso é semelhante ao último exemplo, exceto que ele retorna três componentes em vez de dois. A principal vantagem é que esse método não falha se a string não contém o separador.
Quando você não passa nenhum parâmetro para o método de divisão do Python, a documentação afirma : "execuções de espaços em branco consecutivos são consideradas como um único separador e o resultado não conterá strings vazias no início ou no final se a string tiver espaços em branco à esquerda ou à direita".
Segure seus chapéus, rapazes, analise uma expressão regular:
A expressão regular "[am] +" significa as letras minúsculas aatravés de mque ocorrer uma ou mais vezes são combinados como um delimitador. reé uma biblioteca a ser importada.
Ou se você quiser mastigar os itens um de cada vez:
el@apollo:~/foo$ python
>>> mystring ="theres coffee in that nebula">>> mytuple = mystring.partition(" ")>>>print type(mytuple)<type 'tuple'>>>>print mytuple
('theres',' ','coffee in that nebula')>>>print mytuple[0]
theres
>>>print mytuple[2]
coffee in that nebula
Se sempre vai ser uma divisão LHS / RHS uniforme, você também pode usar o partitionmétodo que está embutido nas strings. Ele retorna uma tupla de 3 como (LHS, separator, RHS)se o separador fosse encontrado, e (original_string, '', '')se o separador não estivesse presente:
partition
método de strings e, em seguida, atualize sua pergunta.Respostas:
"2.7.0_bf4fda703454".split("_")
fornece uma lista de strings:Isso divide a string a cada sublinhado. Se você quiser que ele pare após a primeira divisão, use
"2.7.0_bf4fda703454".split("_", 1)
.Se você sabe com certeza que a string contém um sublinhado, você pode até mesmo descompactar o LHS e RHS em variáveis separadas:
Uma alternativa é usar
partition()
. O uso é semelhante ao último exemplo, exceto que ele retorna três componentes em vez de dois. A principal vantagem é que esse método não falha se a string não contém o separador.fonte
Passo a passo de análise de string Python
Divida uma string no espaço, obtenha uma lista, mostre seu tipo, imprima-a:
Se você tiver dois delimitadores próximos um do outro, uma string vazia será assumida:
Divida uma string no sublinhado e pegue o quinto item da lista:
Recolher vários espaços em um
Quando você não passa nenhum parâmetro para o método de divisão do Python, a documentação afirma : "execuções de espaços em branco consecutivos são consideradas como um único separador e o resultado não conterá strings vazias no início ou no final se a string tiver espaços em branco à esquerda ou à direita".
Segure seus chapéus, rapazes, analise uma expressão regular:
A expressão regular "[am] +" significa as letras minúsculas
a
através dem
que ocorrer uma ou mais vezes são combinados como um delimitador.re
é uma biblioteca a ser importada.Ou se você quiser mastigar os itens um de cada vez:
fonte
Se sempre vai ser uma divisão LHS / RHS uniforme, você também pode usar o
partition
método que está embutido nas strings. Ele retorna uma tupla de 3 como(LHS, separator, RHS)
se o separador fosse encontrado, e(original_string, '', '')
se o separador não estivesse presente:fonte