Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 删除不可打印的字符串_C#_String_Str Replace_Non Printing Characters - Fatal编程技术网

C# 删除不可打印的字符串

C# 删除不可打印的字符串,c#,string,str-replace,non-printing-characters,C#,String,Str Replace,Non Printing Characters,我对pdf图像进行了OCR并提取了文本。 由于某种原因,OCR将单个空格转换为双回车换行符 例如 以下内容不起作用,因为我认为我的4个字符不是真正的stirng,而是4个不可打印的字符 DocumentData = DocumentData.Replace(@"\r\n\r\n", ""); 我只想在这4个不可打印字符同时出现时用空格替换它们 怎样才能不费吹灰之力就做到这一点。这就是你想要的吗 DocumentData = DocumentData.Replace("\r\n\r\n", "

我对pdf图像进行了OCR并提取了文本。 由于某种原因,OCR将单个空格转换为双回车换行符

例如

以下内容不起作用,因为我认为我的4个字符不是真正的stirng,而是4个不可打印的字符

DocumentData = DocumentData.Replace(@"\r\n\r\n", "");
我只想在这4个不可打印字符同时出现时用空格替换它们

怎样才能不费吹灰之力就做到这一点。

这就是你想要的吗

DocumentData = DocumentData.Replace("\r\n\r\n", " "); // <-- change "" to " ", remove @ char
DocumentData=DocumentData.Replace(“\r\n\r\n”,”);// 这是你想要的吗

DocumentData = DocumentData.Replace("\r\n\r\n", " "); // <-- change "" to " ", remove @ char

DocumentData=DocumentData.Replace(“\r\n\r\n”,”);// 问题是“@”的用法。通过预挂起文本,转义被忽略。只用-

DocumentData = DocumentData.Replace("\r\n\r\n", " ");

问题是“@”的用法。通过预挂起文本,转义被忽略。只用-

DocumentData = DocumentData.Replace("\r\n\r\n", " ");

如果您想确保无论您(或发件人)运行的是哪个系统,都能捕获不可打印的内容,我将使用
正则表达式

DocumentData = Regex.Replace(DocumentData, @"\r\n?|\n|\r|\s+", " ");

编辑:使表达式更加健壮,并检查是否有多余的空格替换为单个空格,这将避免替换后出现过多的空格,因此这是针对这个问题的。我的错

如果您想确保无论您(或发件人)运行的是哪个系统,您都能捕获不可打印的内容,我将使用
正则表达式

DocumentData = Regex.Replace(DocumentData, @"\r\n?|\n|\r|\s+", " ");

编辑:使表达式更加健壮,并检查是否有多余的空格替换为单个空格,这将避免替换后出现过多的空格,因此这是针对这个问题的。我的错

如果它们不可打印,请删除@-its逐字记录字符串,并按照sakura编写的方式执行-““如果它们不可打印,请删除@-its逐字记录字符串,并按照sakura编写的方式执行-”他应该删除字符串前面的
@
。他应该删除字符串前面的
@
。这是错误的,因为您没有将
空格
添加到字符串中。现在将其修改为按照原始帖子的要求执行。这是错误的,因为您没有将
空格
添加到字符串中。现在将其修改为按照原帖。谢谢,我最终还是用了正则表达式,但我不是这方面的专家。我的模板稍有不同,它是@“\r\n\r\n”。仅替换所有4个不可打印字符同时出现的情况。您的不也将替换单个“\r\n”和单个“\r”和单个“\n”事件吗?“\s+”的作用是什么?@user1413844-它从字符串中删除多个空格。这是因为这个正则表达式方法强制每个字符被找到并替换为一个空白,这样你就得到了倍数。但是添加
\s+
可以解决这个问题,因为同一个命令也会检查多个空格,并用一个空格替换它们。谢谢,我最终使用了正则表达式,但我不是这方面的专家。我的模板稍有不同,它是@“\r\n\r\n”。仅替换所有4个不可打印字符同时出现的情况。您的不也将替换单个“\r\n”和单个“\r”和单个“\n”事件吗?“\s+”的作用是什么?@user1413844-它从字符串中删除多个空格。这是因为这个正则表达式方法强制每个字符被找到并替换为一个空白,这样你就得到了倍数。但是添加
\s+
可以解决此问题,因为相同的命令还将检查多个空格,并用单个空格替换它们