如何在Python中检查文本是否为空(包括空格、制表符和换行符)?

如何在Python中检查文本是否为空(包括空格、制表符和换行符)?

**本文将重点介绍如何在Python中检查文本是否为空(即是否只包含空格、制表符和换行符)。 **

第一种方法是使用内置的字符串库的 isspace() 方法。该方法确定字符串是否只包含空格或包含其他任何字符。

如果给定的字符串仅由空格组成,则此方法返回true;否则,返回false。即使字符串包含t和n等字符,该方法也返回true。

示例

在下面给出的程序中,我们使用isspace()方法取三个不同的字符串,以查找它们是否仅包含空格 ‚àí

str1 = " "
str2 = "         DAS"
str3 = "\n\t"

print("检查给定字符串'",str1,"'是否仅包含空格")
print(str1.isspace())

print("检查给定字符串'",str2,"'是否仅包含空格")
print(str2.isspace())

print("检查给定字符串'",str3,"'是否仅包含空格")
print(str3.isspace())

输出

上面示例的输出如下所示‚àí

检查给定字符串' '是否仅包含空格
True
检查给定字符串'         DAS '是否仅包含空格
False
检查给定字符串'

'是否仅包含空格
True

使用正则表达式

第二种方法涉及使用正则表达式。re库的search方法使用正则表达式 “s* $ “,如果字符串仅包含空格,则返回true,如果字符串包含任何其他字符,则返回false。

示例1

在下面给出的程序中,我们使用正则表达式 “^\s* $ “和re库的search方法,取三个不同的字符串,以查找它们是否仅包含空格 ‚Äú

import re
str1 = " "
str2 = " DAS"
str3 = "\n\t"

print("检查给定字符串'",str1,"'是否仅包含空格")
if not str1 or re.search("^\s*", str1):
   print('true')
else:
   print('false')

print("检查给定字符串'",str2,"'是否仅包含空格")
if not str2 or re.search("^\s*", str2):
   print('true')
else:
   print('false')

print("检查给定字符串'",str3,"'是否仅包含空格")
if not str3 or re.search("^\s*$", str3):
   print('true')
else:
   print('false')

输出

上面示例的输出如下所示‚àí

检查给定字符串' '是否仅包含空格
true
检查给定字符串' DAS '是否仅包含空格
false
检查给定字符串'

'是否仅包含空格
true

示例2

匹配只有空格,则可以使用regex的元字符\s调用re.match(regex, string):”^\\s* $ ” ‚àí

import re
print(bool(re.match('^\s+', ' abc')))
print(bool(re.match('^\s+', ' ')))

输出

上面代码的输出如下所示‚àí

False
True

使用len()函数

第三种方法是利用内置的 len() 函数。必须确定给定字符串的长度。如果字符串的长度为0,则表示该字符串为空或仅包含空格字母;否则,字符串包含其他字符。

示例

在下面给出的示例中,我们使用len()方法检查给定字符串是否为空。

str1 = " "
str2 = "           DAS"
str3 = ""

print("检查所给定的字符串'", str1, "'是否为空")
if len(str1) == 0:
   print('true')
else:
   print('false')

print("检查所给定的字符串'", str2, "'是否为空")
if len(str2) == 0:
   print('true')
else:
   print('false')

print("检查所给定的字符串'", str3, "'是否为空")
if len(str3) == 0:
   print('true')
else:
   print('false')

输出

以上示例的输出如下所示 –

检查所给定的字符串' '是否为空
false
检查所给定的字符串'           DAS'是否为空
false
检查所给定的字符串''是否为空
true

使用strip()函数

第四个选项是使用内置的strip()函数。strip()函数从字符串中删除所有不必要的空格。要确定一个字符串是否仅包含空格,请将修剪后的字符串与原始字符串进行比较;如果它们相同,则字符串仅包含空格或为空。

示例

在下面的程序中,我们使用strip()方法检查所给定的字符串是否只包含空格,并将其与实际字符串进行比较。

import re
str1 = " "
str2 = "DAS"
str3 = ""

print("检查所给定的字符串'", str1, "'是否只包含空格")
if str1 and str1.strip():
   print('false')
else:
   print('true')

print("检查所给定的字符串'", str2, "'是否只包含空格")
if str2 and str2.strip():
   print('false')
else:
   print('true')

print("检查所给定的字符串'", str3, "'是否只包含空格")
if str3 and str3.strip():
   print('false')
else:
   print('true')

输出

以上示例的输出如下所示 –

检查所给定的字符串' '是否只包含空格
true
检查所给定的字符串'DAS'是否只包含空格
false
检查所给定的字符串''是否只包含空格
true

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程