Python的strip
函数默认会删除空格。
什么是Python的空白?
在C / C ++中是否与isspace
相同,即包括换行符,垂直制表符等?
答案 0 :(得分:3)
str.strip
和str.isspace
,is as follows使用的Python空格定义:
如果字符在Unicode字符数据库中(请参见
unicodedata
)是通用字符为Zs
(“分隔符,空格”),还是双向字符,则为空白 class是WS
,B
或S
之一。
这与C的isspace
不同,因为它包括ASCII范围之外的Unicode字符,以及一些C的isspace
不算作空格的ASCII字符。即使对于ASCII字符,它也与string.whitespace
不同。
从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;
}
答案 1 :(得分:1)
是的,它包括换行符和垂直标签。完整的定义可通过string.whitespace访问。
https://docs.python.org/3.8/library/string.html?highlight=whitespace#string.whitespace
答案 2 :(得分:1)
string.whitespace
包含所有被视为空格的ASCII字符的字符串。这包括字符空格,制表符,换行符,返回符,换页符和垂直制表符。
在C语法中,这是" \t\n\r\f\v"
,即matches the "C"
locale。