Una alternativa es usar partition(). El uso es similar al último ejemplo, excepto que devuelve tres componentes en lugar de dos. La principal ventaja es que este método no falla si la cadena no contiene el separador.
Cuando no pasa ningún parámetro al método de división de Python, la documentación dice : "las ejecuciones de espacios en blanco consecutivos se consideran un solo separador, y el resultado no contendrá cadenas vacías al principio o al final si la cadena tiene espacios en blanco al principio o al final".
Sostén tus sombreros, chicos, analiza una expresión regular:
La expresión regular "[am] +" significa que las letras minúsculas ahasta mque aparecen una o más veces se hacen coincidir como delimitadores. rees una biblioteca para ser importada.
O si desea masticar los artículos uno a la 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
Si siempre va a ser una división uniforme LHS / RHS, también puede usar el partitionmétodo que está integrado en las cadenas. Devuelve una tupla de 3 como (LHS, separator, RHS)si se encontrara (original_string, '', '')el separador y si el separador no estuviera presente:
partition
método de cadenas y luego actualice su pregunta.Respuestas:
"2.7.0_bf4fda703454".split("_")
da una lista de cadenas:Esto divide la cadena en cada guión bajo. Si desea que se detenga después de la primera división, use
"2.7.0_bf4fda703454".split("_", 1)
.Si sabe a ciencia cierta que la cadena contiene un guión bajo, puede incluso descomprimir el LHS y el RHS en variables separadas:
Una alternativa es usar
partition()
. El uso es similar al último ejemplo, excepto que devuelve tres componentes en lugar de dos. La principal ventaja es que este método no falla si la cadena no contiene el separador.fuente
Tutorial de análisis de cadenas de Python
Divida una cadena en el espacio, obtenga una lista, muestre su tipo, imprímalo:
Si tiene dos delimitadores uno al lado del otro, se asume una cadena vacía:
Divida una cadena en el guión bajo y tome el quinto elemento de la lista:
Contraer varios espacios en uno
Cuando no pasa ningún parámetro al método de división de Python, la documentación dice : "las ejecuciones de espacios en blanco consecutivos se consideran un solo separador, y el resultado no contendrá cadenas vacías al principio o al final si la cadena tiene espacios en blanco al principio o al final".
Sostén tus sombreros, chicos, analiza una expresión regular:
La expresión regular "[am] +" significa que las letras minúsculas
a
hastam
que aparecen una o más veces se hacen coincidir como delimitadores.re
es una biblioteca para ser importada.O si desea masticar los artículos uno a la vez:
fuente
Si siempre va a ser una división uniforme LHS / RHS, también puede usar el
partition
método que está integrado en las cadenas. Devuelve una tupla de 3 como(LHS, separator, RHS)
si se encontrara(original_string, '', '')
el separador y si el separador no estuviera presente:fuente