0

我需要首先替换风险相关的词,例如risky riskier riskless [risk](风险)风险。风险!将风险* 转化为风险,只计算风险并将其归还。

这样做时,有一些条件。我不应该把“风险-”和任何有风险的词算作星号这样的组成部分。

例如,在一个长文档中,可能有很多与风险相关的词。为了简化解释,

#

我喜欢冒险。我不喜欢冒险的路线。

无风险利率是多少?

什么是星号?【风险】就是风险。

#

从上面的文件来看,1)需要将risk和riskier替换为risk。(也可能有其他词,所以不要坚持冒险)。2)只计算风险,包括[风险]风险。但不是风险和星号。

该示例非常简化。同样,“风险”,任何像risky riskless riskness riskier这样的词,任何内部的“风险”([{,任何以.*!?之前或结尾的“风险”等......都应该在将其替换为风险后计算。任何词不应将包含风险作为组成部分的内容计算在内。此外,不应将风险-计算在内。

谢谢。

市场风险风险[风险

4

1 回答 1

0

这实际上是如何编写正则表达式的问题。我不太擅长RE。但就您的示例而言,以下内容有效:

>>> import re
>>> a= '''I like to take risk. I don't like to take a riskier route.
How much is the risk-free interest rate?
What is asterisk? [risk] is risk. '''
>>> pattern=r'\brisk[^\-]?\w*\b'
>>> re.subn(pattern,'risk',astr)
("\nI like to take risk. I don't like to take a risk route.\nHow much is the risk-free interest rate?\nWhat is asterisk? [risk] is risk.\n" , 5)

基于以上,您可以实现您的逻辑:

counts=0
with open(myfile, 'r') as f:
    with open(my_new_file, 'a') as fo:
        for line in f:
            newline, lcount= re.subn(pattern,'risk',line)
            counts+=lcount
            fo.write(newline)
于 2012-09-01T01:19:39.450 回答