11

我有一个如下所示的字符串。

,liger, unicorn, snipe

在我熟悉的其他语言中,我可以只做一个 string.trim(",") 但我怎么能在 c# 中做到这一点?

谢谢。


关于 StartTrim 功能有很多来回。正如一些人指出的那样, StartTrim 不会影响主变量。但是,鉴于数据与问题的结构,我对接受哪个答案感到困惑。确实,问题只希望修剪掉第一个字符而不是最后一个字符(如果是 anny),但是,数据末尾永远不会有“,”。因此,话虽如此,我将接受第一个答案,即使用 StartTrim 分配给新变量。

4

17 回答 17

20
string s = ",liger, unicorn, snipe";
s.TrimStart(',');
于 2008-09-16T15:34:54.250 回答
16
string sample = ",liger, unicorn, snipe";
sample = sample.TrimStart(','); // to remove just the first comma

也许:

sample = sample.Trim().TrimStart(','); // to remove any whitespace and then the first comma
于 2008-09-16T15:41:28.260 回答
4

.net 字符串可以执行 Trim() 和 TrimStart()。因为它需要params,所以你可以写:

",liger, unicorn, snipe".TrimStart(',')

如果你有多个字符要修剪,你可以写:

",liger, unicorn, snipe".TrimStart(",; ".ToCharArray())
于 2008-09-16T15:37:14.760 回答
3

这是一种不产生前导逗号的简单方法:

string[] animals = { "liger", "unicorn", "snipe" };
string joined = string.Join(", ", animals);
于 2008-09-16T16:58:40.133 回答
3

string.TrimStart(',') 将删除逗号,但是由于逗号后面的空格,您将无法进行拆分操作。最好只用一个逗号加入或使用

Split(", ".ToCharArray(),StringSplitOptions.RemoveEmptyEntries);

于 2008-09-17T06:23:26.910 回答
1

",狮虎, 独角兽, 狙击".Trim(',') -> "狮虎, 独角兽, 狙击"

于 2008-09-16T15:36:01.643 回答
1

尝试 string.Trim(',') 看看是否符合您的要求。

于 2008-09-16T15:36:11.020 回答
1

注意,原始字符串保持不变,Trim 将返回一个新字符串:

string s1 = ",abc,d";
string s2 = s1.TrimStart(",".ToCharArray());
Console.WriteLine("s1 = {0}", s1);
Console.WriteLine("s2 = {0}", s2);

印刷:

s1 = ,abc,d
s2 = abc,d
于 2008-09-16T15:43:13.297 回答
1
string s = ",liger, unicorn, snipe";
s = s.TrimStart(',');

将 TrimStart 的结果分配给变量很重要。正如它在TrimStart 页面上所说,“此方法不会修改当前实例的值。相反,它返回一个新字符串......”。

在 .NET 中,字符串不会改变。

于 2008-09-17T04:07:59.027 回答
1

你可以用这个

,狮虎,独角兽,狙击".TrimStart(',');

于 2008-09-17T05:26:24.893 回答
0
if (s.StartsWith(",")) {
    s = s.Substring(1, s.Length - 1);
}
于 2008-09-16T15:34:32.693 回答
0
string t = ",liger, unicorn, snipe".TrimStart(new char[] {','});
于 2008-09-16T15:35:18.760 回答
0

和其他地方一样:string.trim

于 2008-09-16T15:35:24.093 回答
0
    string s = ",liger, tiger";

    if (s.Substring(0, 1) == ",")
        s = s.Substring(1);
于 2008-09-16T15:35:28.743 回答
0

您的意思是修剪该字符串中的所有“,”实例吗?

在这种情况下,您可以这样做:

s = s.Replace(",", "");
于 2008-09-16T15:35:57.323 回答
0

只需使用 Substring 忽略第一个字符(或将其分配给另一个字符串);

 string o = ",liger, unicorn, snipe";
 string s = o.Substring(1);
于 2008-09-16T15:36:54.030 回答
0

请参阅:http: //msdn.microsoft.com/en-us/library/d4tt83f9.aspx

        string animals = ",liger, unicorn, snipe";

        //trimmed will contain "liger, unicorn, snipe"
        string trimmed = word.Trim(',');
于 2008-09-16T15:39:09.110 回答