2017-07-26 58 views
0

我構建了一個web應用程序,該應用程序使用EPPLUS從上載的excel文件逐行讀取字符串值。來自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 
//but it's actually = 4 
Debug.Writeline(str.Length); 

誰能解釋這是爲什麼會發生? 以及如何解決它,因爲我需要比較該字符串與我自己的硬編碼字符串

+0

難道是最後有一個'r'或'\ n'字符嗎? –

+0

@AlexArt。如何檢查我的字符串是否有\ r或'\ n'?而且我已經在使用'trim()' –

回答

6

如果長度報告爲4,那麼肯定還有其他字符串中的其他東西。你有沒有看過它逐字節?

試試這個:

var cat = Worksheets.Cells["A1"].Value.ToString().Trim(); 
foreach (var c in cat.ToCharArray()) 
{ 
    Debug.WriteLine("{0}: '{1}'", (int)c, c); 
} 

應該幫助您確定還有什麼是隱藏在你的字符串。我懷疑這是EPPlus正在做的事情(我一直都在使用它,從來沒有經歷過這樣的事情)「這很奇怪」 - 這在源數據中幾乎肯定是一件奇怪的事情。

+0

謝謝先生!,我應該在早些時候問過,我浪費了幾個小時。 –

相關問題