默认情况下,Python的strip函数删除空格。
Python的空格是什么?
是否与C/C++中的isspace相同,如包含换行符、垂直制表符等?
发布于 2020-02-02 09:17:39
Python对空格的定义,由str.strip和str.isspace使用,is as follows
如果在Unicode字符数据库(请参见unicodedata)中,字符的一般类别是Zs (“分隔符,空格”),或者字符的双向类是WS、B或S之一,则字符是空格。
这与C的isspace不同,因为它包括ASCII码范围之外的Unicode字符,以及一些C的isspace不计为空格的ASCII码字符。它也不同于string.whitespace,甚至对于ASCII码字符也是如此。
从CPython 3.8.1开始,完整的列表(如源代码中所定义的,可能会有所更改) is as follows
/* Returns 1 for Unicode characters having the bidirectional
* type 'WS', 'B' or 'S' or the category 'Zs', 0 otherwise.
*/
int _PyUnicode_IsWhitespace(const Py_UCS4 ch)
{
switch (ch) {
case 0x0009:
case 0x000A:
case 0x000B:
case 0x000C:
case 0x000D:
case 0x001C:
case 0x001D:
case 0x001E:
case 0x001F:
case 0x0020:
case 0x0085:
case 0x00A0:
case 0x1680:
case 0x2000:
case 0x2001:
case 0x2002:
case 0x2003:
case 0x2004:
case 0x2005:
case 0x2006:
case 0x2007:
case 0x2008:
case 0x2009:
case 0x200A:
case 0x2028:
case 0x2029:
case 0x202F:
case 0x205F:
case 0x3000:
return 1;
}
return 0;
}发布于 2019-10-31 04:35:24
是的,它包括换行符和竖排制表符。完整的定义可以作为string.whitespace访问。
https://docs.python.org/3.8/library/string.html?highlight=whitespace#string.whitespace
https://stackoverflow.com/questions/58633237
复制相似问题