"I write a code similar to the desired output."
import re
from nltk.tokenize import RegexpTokenizer
text = 'Turn left and take the door between stairs and elevator. Turn right to the corridor.'
text = text.lower()
text = text.replace("and",",")
split1 = re.split('; |[.] |[:]|, |\* |\n',text)
tokenizer = RegexpTokenizer(r'\w+')
tokens = [tokenizer.tokenize(word) for word in split1]
d = []
i = 0
for t in tokens:
for a in t:
if a == 'between':
m = tokens.index(t)
while i < m:
d.append(tokens[i])
i +=1
d.append(tokens[m]+['and']+tokens[m+1])
n = m+2
while n < len(tokens):
d.append(tokens[n])
n +=1
print(d)
相关问题 更多 >
编程相关推荐