我已经对 pdf 图像进行了 OCR 并提取了文本。由于某种原因,OCR 已将单个空格转换为双回车换行。
例如。
"\r\n\r\n"
以下不起作用,因为我认为我的 4 个字符并不是真正的搅拌,而是 4 个不可打印的字符。
DocumentData = DocumentData.Replace(@"\r\n\r\n", "");
我只想在它们一起出现时用空格替换这 4 个不可打印的字符。
怎么能不费吹灰之力就做到这一点。
我已经对 pdf 图像进行了 OCR 并提取了文本。由于某种原因,OCR 已将单个空格转换为双回车换行。
例如。
"\r\n\r\n"
以下不起作用,因为我认为我的 4 个字符并不是真正的搅拌,而是 4 个不可打印的字符。
DocumentData = DocumentData.Replace(@"\r\n\r\n", "");
我只想在它们一起出现时用空格替换这 4 个不可打印的字符。
怎么能不费吹灰之力就做到这一点。
问题是“@”的使用。通过在文本前面加上它,转义将被忽略。只需使用 -
DocumentData = DocumentData.Replace("\r\n\r\n", " ");
这是你想要的吗?
DocumentData = DocumentData.Replace("\r\n\r\n", " "); // <-- change "" to " ", remove @ char
如果您想确保您(或发件人)在哪个系统上运行并不重要,并且您将始终捕获我将使用的不可打印的内容Regular Expressions
:
DocumentData = Regex.Replace(DocumentData, @"\r\n?|\n|\r|\s+", " ");
编辑:使表达式更加健壮,并检查是否有多余的空格将它们替换为单个空格,这将避免替换后的间距过大,因此它特定于这个问题。我的错。