ImportError:无法导入名称“ RegexpReplacer”

时间:2019-12-19 11:05:36

标签: python python-3.x replace

这是我正在尝试使用用户替换器的代码,但仍然出现错误,请问好吗?这是我的代码:

import nltk
from replacer import RegexpReplacer
import sys

replacer = RegexpReplacer()
replacer.replace("Don't hesitate to ask questions")
print(replacer.replace("She must've gone to the market but she didn't go"))

这是我的错误:

  

ImportError:无法导入名称'RegexpReplacer'

2 个答案:

答案 0 :(得分:1)

首先,尝试pip install replacer并检查。如果不起作用,请从代码中删除from replacer import RegexpReplacer,因为这意味着您无法导入它。

您可以查看类似的问题here

我希望您可以通过查看给定的问题来得到答案

答案 1 :(得分:1)

您得到了ImportError: cannot import name 'RegexpReplacer',因为替换程序中没有名为RegexpReplacer的模块。而是使用以下代码创建一个名为RegexpReplacer的类:

import re

replacement_patterns = [
(r'don\'t', 'do not'),
(r'didn\'t', 'did not'),
(r'can\'t', 'cannot')
]

class RegexpReplacer(object):
   def __init__(self, patterns=replacement_patterns):
      self.patterns = [(re.compile(regex), repl) for (regex, repl) in patterns]

   def replace(self, text):
      s = text
      for (pattern, repl) in self.patterns:
           s = re.sub(pattern, repl, s)
      return s

replacer=RegexpReplacer()
replacer.replace("Don't hesitate to ask questions.")
print(replacer.replace("She must've gone to the market but she didn't go."))

输出:

She must've gone to the market but she did not go.

当您在replacer.replace()中尝试使用带有不同字符串的代码时,其中一些包含不包含,没有包含或不能包含,其中一些不包含这三个单词中的任何一个,不要不是不能替换为不要不要不能,并且所有其他字符串都不会替换为其他字符串。