2016-02-04 49 views
1

幫助!我有一個Excel中記錄的列表,我正在複製/粘貼到ASP.NET網頁中。從那裏,C#代碼解析記錄。C#找不到從Excel複製的字符串空間

下面的代碼適用於其中一個名稱,但不適用於其他名稱。但是,如果我使用鍵入的空格複製/替換Excel中的空白區域,或者如果我實際上退格並使用鍵盤將名稱鍵入網頁,則它可以工作。

就好像Excel在文件中有一些奇怪的鬼字符,我在這個記錄上的空間。我粘貼了Notepad ++並顯示了所有的字符,並且在這裏我沒有看到任何特別的東西,這些在記錄中是不同的。

這一個工作的,並且檢測的空間:Carolyn Bentivegna 這一個不:Allan D. Blake

if (fullName.IndexOf(" ") > -1) 

回答

5

嘗試tabspace:

if (fullName.IndexOf("\t") > -1) 

細胞通過Excel中複製由TabSpace分離和行通過換行符和回車分隔。

+0

我只複製一列數據。記事本++只顯示換行符(CRLF),沒有選項卡。 – Andy

+2

您的Excel中存在字符串存在問題。查看ascii值[here](http://ideone.com/Wtdf4b)。這絕對不是一個空間。它的值是'160' - ascii值應該是'32' – Sadique

+0

謝謝! :)我現在看到了。任何通過C#做這件事的好方法來取代它?我做到了這一點,它的工作原理,但你看不出肉眼的差異:string fullName = fullNameOnly.FullName.Replace(「」,「」); – Andy