NLTK python中的正则表达式

时间:2015-11-30 04:40:14

标签: python regex nltk

我有一个字符串如下:

happy = +2

输出应为:

JJ[sentiment=+2] -> happy

正则表达式(re)如何以上述格式生成某些内容?

这是我的代码:

from __future__ import print_function
import nltk
from nltk import sent_tokenize, word_tokenize, pos_tag

f = open('file.txt')

for j in iter(f):

    tokens = pos_tag(word_tokenize(j))
    print (tokens)

f.close()

输出结果为:

[('happy', 'JJ'), ('2', 'CD')]

我们怎样才能做到:

JJ[sentiment=+2] -> happy

最好的问候

非常感谢您的帮助:)

1 个答案:

答案 0 :(得分:0)

您可以使用字符串格式化并利用元组索引。

s = [('happy', 'JJ'), ('2', 'CD')]
new = "{0}[sentiment={1}] -> {2}".format(s[0][1], s[1][0], s[0][0]) 
print(new)
JJ[sentiment=2] -> happy

现在将其合并到您的脚本中:

from __future__ import print_function
import nltk
from nltk import sent_tokenize, word_tokenize, pos_tag

f = open('file.txt')

for j in iter(f):

    toks = pos_tag(word_tokenize(j))
    print ("{0}[sentiment={1}] -> {2}".format(toks[0][1], toks[1][0], toks[0][0]))

f.close()