my_string= 'EXPLORE DATA.. ADD INTELLIGENCE..GET VALUABLE INSIGHTS…'
预期输出:。
EXPLORE
EXPLORE DATA..
EXPLORE DATA.. ADD
我已经尝试过re.sub("[^\w]", " ", my_string).split()
给出:['EXPLORE', 'DATA', 'ADD', 'INTELLIGENCE', 'GET', 'VALUABLE', 'INSIGHTS']
采用前两个字符串时,其将为EXPLORE DATA
,而实际间距不保留在my_string
中。预期为EXPLORE DATA..
。如何获得预期的输出。就像第一个单词,然后是前两个单词,然后是前3个单词...等等。
答案 0 :(得分:1)
您可以使用已创建的单词列表的索引来完成
import re
my_string = 'EXPLORE DATA.. ADD INTELLIGENCE..GET VALUABLE INSIGHTS…'
word_list = re.sub("[^\w]", " ", my_string).split()
for word in word_list:
end_index = my_string.find(word) + len(word) // get the index at the end of the word
print(my_string[:end_index])
这导致
EXPLORE
EXPLORE DATA
EXPLORE DATA.. ADD
EXPLORE DATA.. ADD INTELLIGENCE
EXPLORE DATA.. ADD INTELLIGENCE..GET
EXPLORE DATA.. ADD INTELLIGENCE..GET VALUABLE
EXPLORE DATA.. ADD INTELLIGENCE..GET VALUABLE INSIGHTS