2010-09-14 71 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

那么通常你会想要从数据之前删除逗号和空格,而不是特定的字符串“,”。问题的问题是未指定所需的输出。 –