我刮了一些PDF,刮了一些厚字体,如本例所示:
text='and assesses oouurr rreeffoorrmmeedd tteeaacchhiinngg in the classroom'
而不是
"and assesses our reformed teaching in the classroom"
如何解决这个问题?我正在尝试使用正则表达式
pattern=r'([a-z])(?=\1)'
re.sub(pattern,'',text)
#"and aseses reformed teaching in the clasrom"
我正在考虑将上面的两组进行分组,并添加单词边界
编辑:此选项修复字母数为偶数的单词:
pattern=r'([a-z])\1([a-z])\2'
re.sub(pattern,'\1\2',text)
#"and assesses oouurr reformed teaching in the classroom"
我使用的是混合方法:在for循环中构建模式和替换,然后应用regex。所应用的正则表达式从8x2=16个字母的单词到3个字母
例如,三个字母单词的正则表达式变为:
作为旁注,我无法用原始字符串正确地使用这些反斜杠,实际上我将使用[a-zA-Z]
我在javascript中找到了一个很好的解决方案:
但在某些情况下,它在python中不起作用,因为lookbehind无法引用group,所以我提出了另一个在本例中可以起作用的解决方案:
试试看here
如果字母重复,您可以尝试这样的方法
相关问题 更多 >
编程相关推荐