2017-07-10 45 views
-1

因此,我有數據以「,」分隔數據。我正試圖用Substring分開不同的數據。爲什麼不通過此代碼從字符串中剪下一些東西

input = input.Substring(input.IndexOf(", ") + 2, input.Length - input.IndexOf(", ") + 2); 

在這種情況下,我已經閱讀了第一筆數據,並試圖將其截斷。爲了做到這一點,我把第一個「,」的索引加上2,這給了我這個短語的結束索引。然後我取整個字符串的長度並減去第一個「,」的最後一個索引。這給了我從「,」結尾到字符串結尾的長度。這是我想剪的。出於某種原因,當這段代碼運行時,我不斷收到ArgumentOutOfRange異常。如果有人能告訴我我做錯了什麼,那將會非常有幫助。

+1

'VAR separatedData = input.Split( '').Skip(1);' – Fabio

+1

你應該表現出input'的'起始值,和你得到的異常信息。 –

+0

*「出於某種原因,我不斷收到ArgumentOutOfRange」* - 其中一個參數超出範圍。這就是原因。解決方法是找出*參數是什麼*,然後閱讀文檔以找出可接受的範圍。 –

回答

0

然後我把整個字符串的長度減去第一個「,」的最後一個 索引。

並非如此 - 你忘記了圍繞input.IndexOf(", ") + 2的括號。你的目的是要做到這一點:

input = input.Substring(
    input.IndexOf(", ") + 2, 
    input.Length - (input.IndexOf(", ") + 2)); // < note additional "()" 

如果你沒有試圖把一切都變成一條線 - 你可能已經避免了這個問題:

var idx = input.IndexOf(", ") + 2; 
input = input.Substring(idx, input.Length - idx); 

您還可以使用Remove來達到同樣的效果:

input = input.Remove(0, input.IndexOf(", ") + 2); 
+0

感謝您的提示 –

相關問題