kzen.dev
  • Questions
  • Tags
  • Utilisateurs
Notifications
Récompenses
Inscription
Une fois inscrit, vous serez informé des réponses et des commentaires à vos questions.
Connectez-vous
Si vous avez déjà un compte, connectez-vous pour vérifier les nouvelles notifications.
Il y aura des récompenses pour les questions, réponses et commentaires ajoutés.
Détails
Source
Editer
Ian Zane
Ian Zane
Question

Supprimer tous les sauts de ligne d'une longue chaîne de texte

En gros, je demande à l'utilisateur de saisir une chaîne de texte dans la console, mais cette chaîne est très longue et comporte de nombreux sauts de ligne. Comment puis-je prendre la chaîne de l'utilisateur et supprimer tous les sauts de ligne pour en faire une seule ligne de texte ? Ma méthode pour acquérir la chaîne de caractères est très simple.

string = raw_input("Please enter string: ")

Y a-t-il une autre façon de récupérer la chaîne de l'utilisateur ? J'utilise Python 2.7.4 sur un Mac.

P.S. Il est clair que je suis un noob, donc même si une solution n'est pas la plus efficace, celle qui utilise la syntaxe la plus simple serait appréciée.

113 2013-05-15T13:25:01+00:00 3
Programmation
python
Cette question a 1 réponse en anglais, pour les lire connectez-vous à votre compte.
Solution / Réponse
Daren Thomas
Daren Thomas
15 mai 2013 в 1:28
2013-05-15T13:28:30+00:00
Détails
Source
Editer
#19373052

Comment saisir les sauts de ligne avec raw_input ? Mais, une fois que vous avez une chaîne de caractères dont vous voulez vous débarrasser, il suffit de les "remplacer".

>>> mystr = raw_input('please enter string: ')
please enter string: hello world, how do i enter line breaks?
>>> # pressing enter didn't work...
...
>>> mystr
'hello world, how do i enter line breaks?'
>>> mystr.replace(' ', '')
'helloworld,howdoienterlinebreaks?'
>>>

Dans l'exemple ci-dessus, j'ai remplacé tous les espaces. La chaîne '\n' représente les nouvelles lignes. Et 'r représente les retours de chariot (si vous êtes sous Windows, il se peut que vous les obteniez et un second replace les gérera pour vous !)

En gros :

# you probably want to use a space ' ' to replace `\n`
mystring = mystring.replace('\n', ' ').replace('\r', '')

Notez aussi, que c'est une mauvaise idée d'appeler votre variable string, car cela fait de l'ombre au module string. Un autre nom que j'éviterais mais que j'aimerais utiliser parfois : file. Pour la même raison.

 Mr_and_Mrs_D
Mr_and_Mrs_D
Réponse modifiée 11 mars 2017 в 3:07
184
0
Konstantin Dinev
Konstantin Dinev
15 mai 2013 в 1:28
2013-05-15T13:28:10+00:00
Détails
Source
Editer
#19373051

Vous pouvez essayer d'utiliser le remplacement de chaîne :

string = string.replace('\r', '').replace('\n', '')
Konstantin Dinev
Konstantin Dinev
Réponse modifiée 13 février 2017 в 9:31
35
0
 tokhi
tokhi
24 septembre 2014 в 9:43
2014-09-24T09:43:10+00:00
Détails
Source
Editer
#19373054

Mise à jour basée sur le commentaire de Xbello :

string = my_string.rstrip('\r\n')

lire la suite [ici] [1]

[1] : http://www.tutorialspoint.com/python/string_rstrip.htm

 tokhi
tokhi
Réponse modifiée 3 décembre 2014 в 1:18
14
0
Communautés apparentées 2
Python en français
Python en français
1 431 utilisateurs
Ouvrir telegram
Python 🇨🇵
Python 🇨🇵
117 utilisateurs
Un groupe de Python en français. @Linux_Fr
Ouvrir telegram
Ajouter une question
Catégories
Toutes
Technologie
Culture / Loisirs
Vie / Arts
Science
Professionnel
Entreprises
Utilisateurs
Tous
Nouveau
Populaire
1
Ilya Smirnov
Enregistré il y a 6 jours
2
Денис Васьков
Enregistré il y a 1 semaine
3
Dima Patrushev
Enregistré il y a 1 semaine
4
sirojidddin otaboyev
Enregistré il y a 2 semaines
5
Елена Гайдамамакинат
Enregistré il y a 2 semaines
DE
EL
ES
FR
ID
IT
JA
KO
NL
NO
PT
RU
TR
ZH
© kzen.dev 2023
Source
stackoverflow.com
sous licence cc by-sa 3.0 avec l'attribution