Ce qui suit décrit le fonctionnement des chaînes de caractères contenant des nouvelles lignes en Python.
- Créer une chaîne de caractères contenant des nouvelles lignes, imprimer la sortie (affichage)
- caractère de nouvelle ligne (CR ou LF, ou les deux, selon le système)
\n
(LF),\r\n
(CR+LF) - triple devis
'''
,"""
- Si vous voulez mettre en retrait
- caractère de nouvelle ligne (CR ou LF, ou les deux, selon le système)
- Concaténation d'une liste de chaînes de caractères avec des nouvelles lignes
- Divise la chaîne de caractères en nouvelles lignes et en liste:
splitlines()
- Retirer et remplacer les codes d'alimentation de la ligne
- Imprimer la sortie sans nouvelle ligne de fin
- Créer une chaîne de caractères contenant des nouvelles lignes, imprimer la sortie
- Concaténation d'une liste de chaînes de caractères avec des nouvelles lignes
- Divise la chaîne de caractères en nouvelles lignes et en liste: splitlines()
- Retirer et remplacer les codes d'alimentation de la ligne
- Imprimer la sortie sans nouvelle ligne de fin
Créer une chaîne de caractères contenant des nouvelles lignes, imprimer la sortie
caractère de nouvelle ligne (CR ou LF, ou les deux, selon le système) \n(LF), \r\n(CR+LF)
L'insertion d'un code de saut de ligne dans une chaîne de caractères entraîne l'apparition d'une nouvelle ligne.
s = 'Line1\nLine2\nLine3'
print(s)
# Line1
# Line2
# Line3
s = 'Line1\r\nLine2\r\nLine3'
print(s)
# Line1
# Line2
# Line3
Les codes de saut de ligne peuvent être utilisés de la manière suivante. Certains éditeurs vous permettent de sélectionner un code de saut de ligne.
Macを含むUnix系 | \n (LF) |
Windows系 | \r\n (CR+LF) |
triple devis ''',"""
Si des guillemets triples sont utilisés pour entourer la chaîne, celle-ci sera une chaîne telle quelle, y compris les nouvelles lignes.
s = '''Line1
Line2
Line3'''
print(s)
# Line1
# Line2
# Line3
Si vous voulez mettre en retrait
Les guillemets triples sont également des espaces dans une chaîne de caractères. Par conséquent, si vous essayez d'écrire proprement en code et d'indenter comme indiqué ci-dessous, des espaces inutiles seront insérés.
s = '''
Line1
Line2
Line3
'''
print(s)
#
# Line1
# Line2
# Line3
#
En utilisant un antislash pour ignorer les nouvelles lignes dans le code et en faire une ligne de continuation, on peut l'écrire comme suit
Encadrez chaque ligne par '' ou “” et ajoutez un caractère de fin de ligne ←n à la fin de la phrase.
s = 'Line1\n'\
'Line2\n'\
'Line3'
print(s)
# Line1
# Line2
# Line3
Ici, la syntaxe est que les littéraux de chaîne successifs sont concaténés. Voir l'article suivant pour plus de détails.
- Articles connexes:Concaténation et jointure de chaînes de caractères en Python (opérateur +, jointure, etc.)
Si vous voulez ajouter une indentation dans une chaîne, il suffit d'ajouter un espace à la chaîne à chaque ligne.
s = 'Line1\n'\
' Line2\n'\
' Line3'
print(s)
# Line1
# Line2
# Line3
En outre, comme les sauts de ligne peuvent être effectués librement dans les parenthèses, ce qui suit peut être écrit en utilisant des parenthèses au lieu de backslashes.
s = ('Line1\n'
'Line2\n'
'Line3')
print(s)
# Line1
# Line2
# Line3
s = ('Line1\n'
' Line2\n'
' Line3')
print(s)
# Line1
# Line2
# Line3
Si vous souhaitez simplement aligner le début d'une ligne, il suffit d'ajouter une barre oblique inverse à la première ligne de guillemets triples.
s = '''\
Line1
Line2
Line3'''
print(s)
# Line1
# Line2
# Line3
s = '''\
Line1
Line2
Line3'''
print(s)
# Line1
# Line2
# Line3
Concaténation d'une liste de chaînes de caractères avec des nouvelles lignes
La méthode de chaîne de caractères join() peut être utilisée pour concaténer une liste de chaînes de caractères en une seule chaîne.
- Articles connexes:Concaténation et jointure de chaînes de caractères en Python (opérateur +, jointure, etc.)
Lorsque join() est appelé à partir d'un caractère de nouvelle ligne, chaque élément de la chaîne est concaténé avec une nouvelle ligne.
l = ['Line1', 'Line2', 'Line3']
s_n = '\n'.join(l)
print(s_n)
# Line1
# Line2
# Line3
print(repr(s_n))
# 'Line1\nLine2\nLine3'
s_rn = '\r\n'.join(l)
print(s_rn)
# Line1
# Line2
# Line3
print(repr(s_rn))
# 'Line1\r\nLine2\r\nLine3'
Comme dans l'exemple ci-dessus, la fonction intégrée repr() peut être utilisée pour vérifier les chaînes de caractères qui contiennent des codes de nouvelle ligne tels qu'ils sont.
Divise la chaîne de caractères en nouvelles lignes et en liste: splitlines()
La méthode de chaîne de caractères splitlines() peut être utilisée pour diviser une chaîne de caractères en une liste de nouvelles lignes.
splitlines() divisera n'importe lequel des codes de saut de ligne suivants. Les onglets verticaux et les sauts de page sont également divisés.
\n
\r\n
\v
\f
s = 'Line1\nLine2\r\nLine3'
print(s.splitlines())
# ['Line1', 'Line2', 'Line3']
Retirer et remplacer les codes d'alimentation de la ligne
En combinant splitlines() et join(), il est possible de supprimer (enlever) les codes de nouvelles lignes d'une chaîne contenant des nouvelles lignes ou de les remplacer par d'autres chaînes.
s = 'Line1\nLine2\r\nLine3'
print(''.join(s.splitlines()))
# Line1Line2Line3
print(' '.join(s.splitlines()))
# Line1 Line2 Line3
print(','.join(s.splitlines()))
# Line1,Line2,Line3
Le changement par lots des codes de saut de ligne est également possible. Même si les codes de saut de ligne sont mélangés ou inconnus, ils peuvent être divisés à l'aide de splitlines() et ensuite concaténés avec le code de saut de ligne souhaité.
s_n = '\n'.join(s.splitlines())
print(s_n)
# Line1
# Line2
# Line3
print(repr(s_n))
# 'Line1\nLine2\nLine3'
Comme mentionné ci-dessus, splitlines() divisera n'importe quel code de ligne, il n'y a donc pas besoin de se préoccuper particulièrement des codes de ligne dans le cas de la méthode combinant splitlines() et join().
Si le code de nouvelle ligne est clair, il peut également être remplacé par la méthode replace(), qui remplace la chaîne de caractères.
s = 'Line1\nLine2\nLine3'
print(s.replace('\n', ''))
# Line1Line2Line3
print(s.replace('\n', ','))
# Line1,Line2,Line3
Notez toutefois qu'il ne fonctionnera pas s'il contient des codes de saut de ligne différents de ceux attendus.
s = 'Line1\nLine2\r\nLine3'
s_error = s.replace('\n', ',')
print(s_error)
# ,Line3Line2
print(repr(s_error))
# 'Line1,Line2\r,Line3'
s_error = s.replace('\r\n', ',')
print(s_error)
# Line1
# Line2,Line3
print(repr(s_error))
# 'Line1\nLine2,Line3'
Il est possible de remplacer plusieurs codes de saut de ligne en répétant replace(), mais cela ne fonctionnera pas si l'ordre est incorrect car “\r\n” contient “\n”. La méthode combinant splitlines() et join() décrite ci-dessus est plus sûre car il n'est pas nécessaire de se préoccuper des codes de saut de ligne.
s = 'Line1\nLine2\r\nLine3'
print(s.replace('\r\n', ',').replace('\n', ','))
# Line1,Line2,Line3
s_error = s.replace('\n', ',').replace('\r\n', ',')
print(s_error)
# ,Line3Line2
print(repr(s_error))
# 'Line1,Line2\r,Line3'
print(','.join(s.splitlines()))
# Line1,Line2,Line3
Utilisez la méthode rstrip() pour supprimer les codes de saut de ligne à la fin d'une phrase. rstrip() est une méthode permettant de supprimer les caractères d'espace blanc (y compris les sauts de ligne) à l'extrémité droite d'une chaîne.
s = 'aaa\n'
print(s + 'bbb')
# aaa
# bbb
print(s.rstrip() + 'bbb')
# aaabbb
Imprimer la sortie sans nouvelle ligne de fin
La fonction print() ajoute une nouvelle ligne par défaut. Par conséquent, si print() est exécutée successivement, chaque résultat de sortie sera affiché sur une nouvelle ligne.
print('a')
print('b')
print('c')
# a
# b
# c
En effet, la valeur par défaut de l'argument end de print(), qui spécifie la chaîne à ajouter à la fin, est le symbole de la nouvelle ligne.
Si vous ne voulez pas de nouvelle ligne à la fin, il suffit de définir l'argument end à une chaîne vide, et la sortie sera produite sans nouvelle ligne à la fin.
print('a', end='')
print('b', end='')
print('c', end='')
# abc
L'argument end peut être une chaîne quelconque.
print('a', end='-')
print('b', end='-')
print('c')
# a-b-c
Cependant, si vous voulez concaténer des chaînes de caractères pour la sortie, il est plus facile de concaténer les chaînes originales que de les spécifier dans l'argument final de print(). Voir l'article suivant.