从文本字段中删除CR/LF

本文关键字:CR LF 删除 文本 字段 | 更新日期: 2023-09-27 18:14:58

我有一个问题,当我检索一个文本文件从列,与:

scanObject = scanWorksheet.Cells[i, scanCols[j]]; 
scanRange = (Excel.Range)scanObject;
scanRangeValue = scanRange.Value2;

传递换行、LF、命令。在此基础上,我生成了一个文本文件,用作另一个程序的输入,但是这个LF命令使导入系统跳过该字段。如何在检索文本列时删除它们?

从文本字段中删除CR/LF

分步进行,以便您可以看到每个步骤的作用:

// get the value in the cell (which is an object from Value2)
object scanRangeValue = scanRange.Value2;
// cast to string (you may need to check for errors if it is not a string)
string scanStringValue = (string)scanRangeValue;
// Replace both 'r'n and 'r and 'n
scanStringValue = scanStringValue.Replace("'r", "").Replace("'n", "");

注意Value2是一个对象类型,所以需要强制转换为string。如果返回的值不是string,这可能会抛出异常,因此您可能需要使用try ... catch ...或其他测试,例如if (scanRangeValue is string)(参见MSDN -如何:通过使用as和is操作符(c#编程指南)安全地强制转换)