我们如何阻止"pass_word"
拆分字符串"https://www.gmail.com"
,"tempemail@mail.com"
和from nltk import word_tokenize
s = 'open "https://www.gmail.com" url. Enter "tempemail@mail.com" in email. Enter "pass_word" in password.'
for phrase in re.findall('"([^"]*)"', s):
s = s.replace('"{}"'.format(phrase), phrase.replace(' ', '*'))
tokens = word_tokenize(s)
print(tokens)
等字符串?引号应防止出现这种情况,但事实并非如此。
我尝试使用其他正则表达式选项。
['open', 'https', ':', '//www.gmail.com', 'url', '.', 'Enter',
'tempemail', '@', 'mail.com', 'in', 'email', '.', 'Enter',
'pass_word', 'in', 'password', '.']
实际回答:
['open', 'https://www.gmail.com', 'url', '.', 'Enter',
'tempemail@mail.com', 'in', 'email', '.', 'Enter',
'pass_word', 'in', 'password', '.']
预期的响应:
var textString = document.createTextNode(currentLangElement.getAttribute('data-language'));
titleEle.appendChild(textString);
答案 0 :(得分:0)
您可以尝试以下操作:
首先,将文本标记为句子。如果句子中包含特殊字符,请使用str.split()
函数将其标记,否则请使用word_tokenize
。
tokens=[]
for sent in sent_tokenize(s):
if re.match(r'^\w+$', s):
for token in word_tokenize(sent):
tokens.append(token)
else:
for token in sent.split():
tokens.append(token)
print(tokens)
输出:
['open', '"https://www.gmail.com"', 'url.', 'Enter', '"tempemail@mail.com"', 'in', 'email.', 'Enter', '"pass_word"', 'in', 'password.']
编辑 您可以通过使用句点进一步拆分字符串来标记句点。