我正在使用这个代码,我从'网络某处获取,将一行文本拆分为“单词”:
def SplitStringIntoWords(inputString, delimiters=' \t,'):
words = re.split('[' + delimiters + ']', inputString.strip())
return len(words), words
但是,我只是注意到它在多个内部空格(或制表符)上表现不佳。
numWords, words = SplitStringIntoWords('A B')
print(str(numWords) + ' words')
print(*words, sep=' ')
numWords, words = SplitStringIntoWords('A B')
print(str(numWords) + ' words')
print(*words, sep=' ')
numWords, words = SplitStringIntoWords('A B')
print(str(numWords) + ' words')
print(*words, sep=' ')
给出
2个字 A B
3个字 A B
4个字 A B
在字符串内部折叠多个分隔符(在这种情况下为空格)的最佳方法是什么?
我真的只想为第一个X“单词”做这个,因为除了单词5之外的所有内容都是自由格式文本,我想我不应该折叠多个空格。但那将是“很高兴”,而不是“必须”。
答案 0 :(得分:5)
通过向+
添加'[' + delimiters + ']'
,您应该可以获得所需内容。
def SplitStringIntoWords(inputString, delimiters=' \t,'):
words = re.split('[' + delimiters + ']+', inputString.strip())
return len(words), words