如何在Python中检查字符串是否只包含空格字符?


字符串是由一组字符组成的,可以表示单个单词或完整的句子。在Python中,无需使用数据类型说明符显式声明变量,可以直接将它们赋值给字面量。因此,与Java等其他技术相比,Python字符串更容易使用。

为了操作和访问字符串,Python包含许多内置函数和方法。字符串是String类的对象,它具有多种方法,因为Python中的所有内容都是对象。

在本文中,我们将了解如何在Python中检查字符串是否只包含空格字符。

使用isspace()方法

实现此目的的一种方法是使用内置字符串库的isspace()方法。此方法告诉我们字符串是否只包含空格,或者是否存在其他字符。如果给定的字符串仅由空格组成,则此方法返回true,否则返回false。即使字符串由\t、\n等字符组成,该方法也返回true。

示例

在下面给出的程序中,我们正在获取3个不同的字符串,并使用isspace()方法找出它们是否只包含空格。

str1 = " " str2 = " DAS" str3 = "\n\t" print("Checking whether the given string'",str1,"'contains only spaces") print(str1.isspace()) print("Checking whether the given string'",str2,"'contains only spaces") print(str2.isspace()) print("Checking whether the given string'",str3,"'contains only spaces") print(str3.isspace())

输出

上面示例的输出是:

("Checking whether the given string'", ' ', "     'contains only spaces")
True
("Checking whether the given string'", ' DAS', "'contains only spaces")
False
("Checking whether the given string'", '\n\t', "'contains only spaces")
True

使用正则表达式

您也可以使用正则表达式来检查给定的字符串是否为空格。正则表达式“^\s*$”用于re库的search方法,如果字符串只包含空格,则返回true;如果字符串包含任何其他字符,则返回false。

示例

在下面给出的程序中,我们正在获取3个不同的字符串,并使用正则表达式“^\s*$”和re库的search方法找出它们是否只包含空格。

import re str1 = " " str2 = " DAS" str3 = "\n\t" print("Checking whether the given string'",str1,"'contains only spaces") if not str1 or re.search("^\s*$", str1): print('true') else: print('false') print("Checking whether the given string'",str2,"'contains only spaces") if not str2 or re.search("^\s*$", str2): print('true') else: print('false') print("Checking whether the given string'",str3,"'contains only spaces") if not str3 or re.search("^\s*$", str3): print('true') else: print('false')

输出

上面示例的输出是:

("Checking whether the given string'", ' ', "     'contains only spaces")
true
false
("Checking whether the given string'", '\n\t', "'contains only spaces")
true

使用len()函数

Python中的len()函数计算并返回当前对象中元素的数量。首先,我们必须使用此函数找出给定字符串的长度。如果字符串的长度为0,则表示字符串为空或只包含空格字符,否则,字符串包含其他字符。

示例

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

str1 = " " str2 = " DAS" str3 = "" print("Checking whether the given string'",str1,"'is empty") if len(str1) == 0: print('true') else: print('false') print("Checking whether the given string'",str2,"'is empty") if len(str2) == 0: print('true') else: print('false') print("Checking whether the given string'",str3,"'is empty") if len(str3) == 0: print('true') else: print('false')

输出

上面示例的输出是:

("Checking whether the given string'", ' ', "'is empty")
false
("Checking whether the given string'", ' DAS', "'is empty")
false
("Checking whether the given string'", '', "'is empty")
true

使用strip()函数

另一种删除空格的方法是使用内置的strip()函数。此函数删除字符串中所有不必要的空格。要查找字符串是否只包含空格,我们必须将剥离后的字符串与原始字符串进行比较,如果两者相同,则给定字符串只包含空格或字符串为空。

示例

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

import re str1 = " " str2 = " DAS" str3 = "" print("Checking whether the given string'",str1,"'contains only spaces") if str1 and str1.strip(): print('false') else: print('true') print("Checking whether the given string'",str2,"'contains only spaces") if str2 and str2.strip(): print('false') else: print('true') print("Checking whether the given string'",str3,"'contains only spaces") if str3 and str3.strip(): print('false') else: print('true')

输出

上面示例的输出是:

("Checking whether the given string'", ' ', "'contains only spaces")
true
("Checking whether the given string'", ' DAS', "'contains only spaces")
false
true

更新于:2022年10月19日

12K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告