如何在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