2010-09-14 113 views
1

如何從下面刪除第一個逗號+空格,如果其中沒有任何操作。NET的字符串操作問題

string comments = ", 38, "; 
+0

請問','總是出現在字符串的頭?你會看到字符串**沒有**','?如果你看到'38,39'之類的東西,你想怎麼做? –

+0

似乎你不明白我的問題。 「從下面的逗號+空格,如果有的話」=>如果它有「其他」=>什麼都不做。 – Sreedhar

+0

好像你不明白** my **的問題,否則你會回答他們的。 –

回答

5
if(comments.StartsWith(", ") && comments.Length > 2) { 
    comments = comments.Substring(2); 
} 
+1

如果字符串僅爲「,」,則位置3不存在,所以這將失敗。 –

+0

如果字符串只以逗號或空格開頭,也會給出錯誤的結果。 「,38,」將變成「8」。 –

+0

@Paw我不這麼認爲,因爲「,38,」不是以「,」開始,「」 –

3

,最好的辦法是使用String.TrimStart(...)方法。

string comments = ", 38, "; 
string commentsOK = "38, "; 

string trimmedComments = comments.TrimStart(',', ' '); 
string trimmedCommentsOK = commentsOK.TrimStart(',', ' '); 

這兩個trimmedCommentstrimmedCommentsOK後,將具有值"38, "

String.TrimStart方法參考:http://msdn.microsoft.com/en-us/library/system.string.trimstart.aspx

+0

今天我學到了一些新東西。 – recursive

+0

難道這也不會從「,38,」中刪除「,」嗎? TrimStart方法用於刪除參數中指定的所有前導字符,而不管它們的順序如何。基於這個問題,我認爲你錯誤地應用了TrimStart。 –

+0

那麼通常你會想要從數據之前刪除逗號和空格,而不是特定的字符串「,」。問題的問題是未指定所需的輸出。 –