Python - 计算字符串中的 split/strip 个单词

Python - Count and split/strip words in strings

下面的 python 代码将“resting-place”读作一个单词。
修改后的列表显示为:['This', 'is', 'my', 'resting-place.']
我希望它显示为:['This', 'is', 'my', 'resting', 'place']

因此,在修改后的列表中总共给我 5 个单词而不是 4 个单词。

original = 'This is my resting-place.'
modified = original.split()
print(modified)

numWords = 0
for word in modified:
    numWords += 1

print ('Total words are:', numWords)

输出为:

Total words are: 4

我希望输出有 5 个单词。

您可以使用正则表达式:

import re
original = 'This is my resting-place.'
print(re.split("\s+|-", original))

输出:

['This', 'is', 'my', 'resting', 'place.']

我想你会在这篇文章中找到你想要的,在这里你可以找到如何创建一个函数,你可以在其中传递多个参数来拆分字符串,在你的情况下你将能够拆分那个额外的字符

http://code.activestate.com/recipes/577616-split-strings-w-multiple-separators/

这里是最终结果的例子

>>> s = 'thing1,thing2/thing3-thing4'
>>> tsplit(s, (',', '/', '-'))
>>> ['thing1', 'thing2', 'thing3', 'thing4']

计算一个句子中的单词数 - 分成两个单词 没有 拆分:

>>> original = 'This is my resting-place.'
>>> sum(map(original.strip().count, [' ','-'])) + 1
5

代码如下:

s='This is my resting-place.'
len(s.split(" "))

4