s = 'w w'
s.strip() # 为什么去除不了中间的空格
s = 'w w'
s.replace('\s',';') # 为什么替换不了,\s 表示空格没错吧。。
En fait, la dernière exigence est la suivante :
C'est-à-dire que des espaces (plusieurs), des sauts de ligne (plusieurs), des retours chariot (plusieurs) et d'autres caractères d'espacement apparaîtront au milieu et des deux côtés de la chaîne. convertir ces caractères d'espacement en ";" , existe-t-il un bon moyen
Strip supprime les espaces aux extrémités gauche et droite, mais les espaces au milieu ne peuvent pas être supprimés.
replace ne peut pas utiliser d'expressions régulières comme paramètres, vous devez utiliser le module
re
.replace est utilisé pour remplacer une chaîne par une autre chaîne, s est une chaîne ordinaire et n'a aucune autre signification.
Pour vos besoins, je pense que vous pouvez utiliser str.maketrans et traduire des fonctions pour y parvenir.
Mon environnement d'exécution est python3.5, l'exemple est le suivant :
s = 'w w'
transmap=str.maketrans({' ':';','r':';','n':' ;' })
print( s.translate(transmap) )
Résultat de l'exécution :
w;w
En fait
";".join(s.split())
c'est bien