Cela divise la chaîne à chaque trait de soulignement. Si vous souhaitez qu'il s'arrête après le premier fractionnement, utilisez "2.7.0_bf4fda703454".split("_", 1).
Si vous savez pertinemment que la chaîne contient un trait de soulignement, vous pouvez même décompresser le LHS et le RHS dans des variables séparées:
Une alternative consiste à utiliser partition(). L'utilisation est similaire au dernier exemple, sauf qu'il renvoie trois composants au lieu de deux. Le principal avantage est que cette méthode n'échoue pas si la chaîne ne contient pas le séparateur.
Procédure pas à pas pour l'analyse des chaînes Python
Divisez une chaîne sur l'espace, obtenez une liste, affichez son type, imprimez-la:
el@apollo:~/foo$ python>>> mystring ="What does the fox say?">>> mylist = mystring.split(" ")>>>print type(mylist)<type 'list'>>>>print mylist['What','does','the','fox','say?']
Si vous avez deux délimiteurs côte à côte, une chaîne vide est supposée:
el@apollo:~/foo$ python>>> mystring ="its so fluffy im gonna DIE!!!">>>print mystring.split(" ")['its','','so','','','fluffy','','','im','gonna','','','','DIE!!!']
Divisez une chaîne sur le trait de soulignement et récupérez le 5e élément de la liste:
Lorsque vous ne passez aucun paramètre à la méthode de fractionnement de Python, la documentation déclare : "les exécutions d'espaces blancs consécutifs sont considérées comme un seul séparateur, et le résultat ne contiendra aucune chaîne vide au début ou à la fin si la chaîne a des espaces blancs au début ou à la fin".
Tenez vos chapeaux garçons, analysez une expression régulière:
L'expression régulière « [am] + » signifie les lettres minuscules à atravers mqui se produisent une ou plusieurs fois sont mis en correspondance comme séparateur. reest une bibliothèque à importer.
Ou si vous voulez grignoter les éléments un à la fois:
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
S'il s'agit toujours d'une division LHS / RHS uniforme, vous pouvez également utiliser la partitionméthode intégrée aux chaînes. Il renvoie un 3-tuple comme (LHS, separator, RHS)si le séparateur était trouvé, et (original_string, '', '')si le séparateur n'était pas présent:
partition
méthode des chaînes, puis mettez à jour votre question.Réponses:
"2.7.0_bf4fda703454".split("_")
donne une liste de chaînes:Cela divise la chaîne à chaque trait de soulignement. Si vous souhaitez qu'il s'arrête après le premier fractionnement, utilisez
"2.7.0_bf4fda703454".split("_", 1)
.Si vous savez pertinemment que la chaîne contient un trait de soulignement, vous pouvez même décompresser le LHS et le RHS dans des variables séparées:
Une alternative consiste à utiliser
partition()
. L'utilisation est similaire au dernier exemple, sauf qu'il renvoie trois composants au lieu de deux. Le principal avantage est que cette méthode n'échoue pas si la chaîne ne contient pas le séparateur.la source
Procédure pas à pas pour l'analyse des chaînes Python
Divisez une chaîne sur l'espace, obtenez une liste, affichez son type, imprimez-la:
Si vous avez deux délimiteurs côte à côte, une chaîne vide est supposée:
Divisez une chaîne sur le trait de soulignement et récupérez le 5e élément de la liste:
Réduire plusieurs espaces en un seul
Lorsque vous ne passez aucun paramètre à la méthode de fractionnement de Python, la documentation déclare : "les exécutions d'espaces blancs consécutifs sont considérées comme un seul séparateur, et le résultat ne contiendra aucune chaîne vide au début ou à la fin si la chaîne a des espaces blancs au début ou à la fin".
Tenez vos chapeaux garçons, analysez une expression régulière:
L'expression régulière « [am] + » signifie les lettres minuscules à
a
traversm
qui se produisent une ou plusieurs fois sont mis en correspondance comme séparateur.re
est une bibliothèque à importer.Ou si vous voulez grignoter les éléments un à la fois:
la source
S'il s'agit toujours d'une division LHS / RHS uniforme, vous pouvez également utiliser la
partition
méthode intégrée aux chaînes. Il renvoie un 3-tuple comme(LHS, separator, RHS)
si le séparateur était trouvé, et(original_string, '', '')
si le séparateur n'était pas présent:la source