C# excel中长度大小不同于实际值的字符串
我构建了一个web应用程序,使用EPPLUS从上传的excel文件中逐行读取字符串值 刚才我遇到了奇怪的行为,我的string.length大小与它的实际值不同 明确的代码:C# excel中长度大小不同于实际值的字符串,c#,epplus,C#,Epplus,我构建了一个web应用程序,使用EPPLUS从上传的excel文件中逐行读取字符串值 刚才我遇到了奇怪的行为,我的string.length大小与它的实际值不同 明确的代码: //pretend str value = "cat" string str = Worksheets.Cells["A1"].Value.ToString().Trim(); //output will be = "cat" Debug.Writeline(str); //it should be = 3 right
//pretend str value = "cat"
string str = Worksheets.Cells["A1"].Value.ToString().Trim();
//output will be = "cat"
Debug.Writeline(str);
//it should be = 3 right
//but it's actually = 4
Debug.Writeline(str.Length);
有人能解释为什么会发生这种情况吗?
以及如何解决它,因为我需要将该字符串与我自己的硬编码字符串进行比较如果长度报告为4,那么您的字符串中肯定还有其他内容。你一个字节一个字节地看了吗 试试这个:
var cat = Worksheets.Cells["A1"].Value.ToString().Trim();
foreach (var c in cat.ToCharArray())
{
Debug.WriteLine("{0}: '{1}'", (int)c, c);
}
它应该可以帮助您确定字符串中隐藏的其他内容。我怀疑这是EPPlus正在做的“奇怪”的事情(我一直在使用它,从来没有经历过类似的事情)-这几乎肯定是源数据中的奇怪之处。如果长度报告为4,那么字符串中肯定还有其他东西。你一个字节一个字节地看了吗 试试这个:
var cat = Worksheets.Cells["A1"].Value.ToString().Trim();
foreach (var c in cat.ToCharArray())
{
Debug.WriteLine("{0}: '{1}'", (int)c, c);
}
它应该可以帮助您确定字符串中隐藏的其他内容。我怀疑这是EPPlus正在做的“奇怪”的事情(我一直在使用它,从来没有经历过类似的事情)-这几乎肯定是源数据中奇怪的事情。是否结尾有
\r
或\n
字符?@AlexArt。我如何检查我的字符串是否有\r
或“\n”?我已经在使用trim()
,可能是结尾有\r
或\n
字符吗?@AlexArt。我如何检查我的字符串是否有\r
或“\n”?我已经在使用trim()
谢谢您,先生!,我应该早点问的,我只是浪费了几个小时。谢谢你,先生!,我应该早点问的,我只是浪费了几个小时。