import re
def count_whitespace(s):
return len(re.findall(r'\s', s, re.UNICODE))
l = ['this is a sentence',
'this is one more sentence',
'',
u'\u3000\u2029 abcd\t\tefghi\0xb \n\r\nj k l\tm \n\n',
'nowhitespaceinthisstring']
for s in l:
print count_whitespace(s)
声明“whitespace”,通常包括这些字符
'\t\n\x0b\x0c\r '
,再加上任何unicode字符,例如u'\u3000'(表意字符空格)。你知道吗regex解决方案是更好的解决方案之一,因为它很容易支持除通常的ascii代码点之外的任何unicode空白代码点。只需使用^{} 并设置^{} 标志:
输出
一种简单的、非正则表达式的方法是使用
str.split()
,它可以自然地拆分任何空格字符,是从字符串中删除所有空格的有效方法。这也适用于unicode空白字符:输出
最后,选出空格字符最多的句子:
使用^{} 进行简单的列表理解
其他方法包括使用^{}
如果您想要一个可调用的函数(正如您所提到的,它是一个遍历列表的函数),那么它可以实现为
并作为
这可以用regex来解决,regex使用^{} module ,如下所述Grijesh
后期编辑
正如您所说的,您还需要找到max元素,您可以这样做
这可以通过使用
把它当作
评论后编辑
你可以用^{} 。我不知道它是否比
.count()
费时相关问题 更多 >
编程相关推荐