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