处理纯空格Python输入:寻求strip()替代的字符串处理方法
处理纯空格输入的Python方法
首先澄清一个误区:strip()其实完全可以满足你判断输入是否仅由空格组成的需求——它会移除字符串首尾所有空白字符(包括空格、制表符、换行符等),如果原输入全是空格,strip()后会得到空字符串,此时len(GenreStripped)为0,刚好能触发你的非空判断逻辑。
不过如果你想尝试其他实现方式,或者需要处理字符串中间的连续空格,以下是几种可行的方法:
使用
isspace()方法:直接判断字符串是否全由空白字符组成,代码更简洁:genre = input(prompt) while genre.isspace() or not genre: genre = input("输入不能仅包含空格,请重新输入:")注:
isspace()仅对非空的全空白字符串返回True,所以需要额外判断not genre来处理空输入的情况。使用
replace()移除所有空格:将字符串内所有空格替换为空,再判断结果是否为空:genre = input(prompt) while len(genre.replace(" ", "")) == 0: genre = input("输入不能仅包含空格,请重新输入:")这种方法仅针对空格生效,如果需要处理制表符、换行符等其他空白字符,不推荐使用。
使用
split()方法:利用默认的空白分割规则,分割后若得到空列表则说明原输入全是空白:genre = input(prompt) while not genre.split(): genre = input("输入不能仅包含空格,请重新输入:")split()不带参数时,会将任意连续的空白字符(空格、制表符、换行等)作为分隔符,若原输入无有效非空白内容,分割结果为空列表,not判断会返回True。
内容的提问来源于stack exchange,提问作者Kaugs
相关产品推荐
相关产品推荐

