【问题标题】:How can I Trim the leading comma in my string如何修剪字符串中的前导逗号
【发布时间】:2008-09-16 15:32:37
【问题描述】:

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

,liger, unicorn, snipe

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

谢谢。


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

【问题讨论】:

  • 建议添加标签“.net”,因为这不是特定于语言的。
  • 85 次浏览 10 个答案,没有人认为这个问题值得 +1?
  • @Keng 可能是因为这种东西对于 C# 的人来说是微不足道的
  • 这不是重点吗?....一切对某人来说都是微不足道的?

标签: c# .net string trim


【解决方案1】:
string s = ",liger, unicorn, snipe";
s.TrimStart(',');

【讨论】:

  • 该方法是否修改字符串?难道不应该重新分配回 s ala s = s.TrimStrat('/'); ?
  • 不,字符串是不可变的。所有操作函数都返回一个应用了更改的新字符串。
  • 为什么这个答案比选择的更好?观察。 1. 该用户是否因拥有更多的 stackoverflow 朋友和/或超过 15,000 分而获得更多积分,而 OP 的积分低于 2,000 分?
【解决方案2】:
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

【讨论】:

  • 很好的答案,我还在 TrimEnd 中添加了 sample.Trim().TrimStart(',').TrimEnd(',');
【解决方案3】:

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

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

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

",liger, unicorn, snipe".TrimStart(",; ".ToCharArray())

【讨论】:

  • 哇.. 到 char 数组的字符串是我以前从未见过的一个好技巧。
  • new [] { ',', ';', ' ' }
【解决方案4】:

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

string[] animals = { "liger", "unicorn", "snipe" };
string joined = string.Join(", ", animals);

【讨论】:

    【解决方案5】:

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

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

    【讨论】:

    • 你是英雄。谢谢!
    【解决方案6】:

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

    【讨论】:

    【解决方案7】:

    试试 string.Trim(',') 看看能不能达到你想要的效果。

    【讨论】:

    【解决方案8】:

    注意,original 字符串保持不变,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
    

    【讨论】:

      【解决方案9】:
      string s = ",liger, unicorn, snipe";
      s = s.TrimStart(',');
      

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

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

      【讨论】:

        【解决方案10】:

        你可以用这个

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

        【讨论】:

          【解决方案11】:
          if (s.StartsWith(",")) {
              s = s.Substring(1, s.Length - 1);
          }
          

          【讨论】:

            【解决方案12】:
            string t = ",liger, unicorn, snipe".TrimStart(new char[] {','});
            

            【讨论】:

              【解决方案13】:

              和其他地方一样:string.trim

              【讨论】:

                【解决方案14】:
                    string s = ",liger, tiger";
                
                    if (s.Substring(0, 1) == ",")
                        s = s.Substring(1);
                

                【讨论】:

                • 仅供参考,您可以执行 s.StartsWith(,而不必为了获取第一个字符而实际执行所有子字符串。
                • 谢谢陈陈。根据我以前使用其他语言的经验,我经常求助于我“期望”存在的一小部分 .Net。
                【解决方案15】:

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

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

                s = s.Replace(",", "");
                

                【讨论】:

                • 他只是想去掉第一个逗号。
                【解决方案16】:

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

                 string o = ",liger, unicorn, snipe";
                 string s = o.Substring(1);
                

                【讨论】:

                  【解决方案17】:

                  见:http://msdn.microsoft.com/en-us/library/d4tt83f9.aspx

                          string animals = ",liger, unicorn, snipe";
                  
                          //trimmed will contain "liger, unicorn, snipe"
                          string trimmed = word.Trim(',');
                  

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 2014-07-15
                    • 1970-01-01
                    • 2014-10-30
                    • 2014-07-21
                    • 2015-04-05
                    • 2015-08-01
                    • 2017-07-13
                    • 2011-04-24
                    相关资源
                    最近更新 更多