Comment puis-je tester si une chaîne ne contient que des espaces?
Exemples de chaînes:
" "
(espace, espace, espace)" \t \n "
(espace, tabulation, espace, nouvelle ligne, espace)"\n\n\n\t\n"
(nouvelle ligne, nouvelle ligne, nouvelle ligne, tabulation, nouvelle ligne)
U+00A0
ouALT+160
. Semble fixe dans Python 2.7, cependant.None
, ou''
if len(str) == 0 or str.isspace():
len(my_str) == 0
peut également être écritnot my_str
.la source
True
pourNone
?Vous souhaitez utiliser la
isspace()
méthodeCela est défini sur chaque objet chaîne. Voici un exemple d'utilisation pour votre cas d'utilisation spécifique:
la source
Vous pouvez utiliser la
str.isspace()
méthode.la source
pour ceux qui s'attendent à un comportement comme l'apache StringUtils.isBlank ou Guava Strings.isNullOrEmpty :
la source
Vérifiez la longueur de la liste donnée par la méthode split ().
Ou Comparez la sortie de la méthode strip () avec null.
la source
len()
fonctionne sur les chaînes. De plus, l'OP ne demandait pas de tester la chaîne vide, mais une chaîne contenant tous les espaces. Cependant, votre deuxième méthode n'est pas mauvaise. De plus, vos parens entourant le conditionnel ne sont pas nécessaires en python.==0
par==1
if len(your_string.split())==0:
->if not your_string.split():
,if your_string.strip() == '':
->if not your_string.strip():
. En tout cas, la première est inférieure aux solutions existantes, et la seconde a déjà été mentionnée dans d'autres réponses.Voici une réponse qui devrait fonctionner dans tous les cas:
Si la variable est None, elle s'arrêtera à
not s
et n'évaluera plus (depuisnot None == True
). Apparemment, lastrip()
méthode prend en charge les cas habituels de tabulation, de nouvelle ligne, etc.la source
not None == True
il est probablement plus clair de direNone is False
. En outre,==
ne doivent pas être utilisés pour ces comparaisons.Je suppose que dans votre scénario, une chaîne vide est une chaîne qui est vraiment vide ou qui contient tout l'espace blanc.
Notez que cela ne vérifie pas
None
la source
J'ai utilisé ce qui suit:
la source
None
?Pour vérifier si une chaîne n'est qu'un espace ou une nouvelle ligne
Utilisez ce code simple
la source
La ressemblance avec la méthode statique de chaîne c # estNullOrWhiteSpace.
la source
return (str is None) or (str == "") or (str.isspace())
None
et""
sont falsy, vous pouvez simplement:return not str or str.isspace()