gpt4 book ai didi

python : Split string every three words

转载 作者:行者123 更新时间:2023-11-28 19:46:57 27 4
gpt4 key购买 nike

我已经搜索了一段时间,但我似乎无法找到这个小问题的答案。

我有这段代码应该在每三个单词之后拆分字符串:

import re

def splitTextToTriplet(Text):
x = re.split('^((?:\S+\s+){2}\S+).*',Text)
return x


print(splitTextToTriplet("Do you know how to sing"))

目前的输出是这样的:

['', 'Do you know', '']

但我实际上期待这样的输出:

['Do you know', 'how to sing'] 

如果我打印(splitTextToTriplet(“你知道怎么做”)),它也应该输出:

['Do you know', 'how to'] 

如何更改正则表达式以产生预期的输出?

最佳答案

我相信 re.split 可能不是最好的方法,因为后视不能采用可变长度模式。

相反,您可以使用 str.split 然后将单词连接在一起。

def splitTextToTriplet(string):
words = string.split()
grouped_words = [' '.join(words[i: i + 3]) for i in range(0, len(words), 3)]
return grouped_words

splitTextToTriplet("Do you know how to sing")
# ['Do you know', 'how to sing']

splitTextToTriplet("Do you know how to")
# ['Do you know', 'how to']

不过请注意,如果使用此解决方案,如果您的某些空格是换行符,则该信息将在此过程中丢失。

关于 python : Split string every three words,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49204225/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com