为何text.replace('\n', ' ')无法将换行符替换为空格?
解决pytesseract输出文本换行符替换无效的问题
问题出在Python字符串的不可变性上:字符串一旦创建就无法直接修改,str.replace()方法不会改变原字符串,而是返回一个替换完成的新字符串。你原来的代码只是调用了replace但没有把返回的新字符串重新赋值给text,所以原变量text完全没变化,传给conjunctionJunction的还是带有换行符的原始文本。
修正后的代码如下:
if conjunction_variable is True: text = text.replace('\n', ' ') conjunctionJunction(text)
如果pytesseract返回的文本里是Windows风格的换行符(\r\n),可以把替换语句改成:
text = text.replace('\r\n', ' ')
或者用更通用的写法适配不同系统的换行:
import os text = text.replace(os.linesep, ' ')
内容的提问来源于stack exchange,提问作者Roland Deschain
相关产品推荐
相关产品推荐

