【问题标题】:Can I split a string in c# VB6-style without referencing Microsoft.VisualBasic?我可以在不引用 Microsoft.VisualBasic 的情况下以 c# VB6 样式拆分字符串吗?
【发布时间】:2010-09-14 08:36:48
【问题描述】:

可惜好像没有string.Split(string separator),只有string.Split(char speparator)。

我想根据多字符分隔符(如 VB6)来分解我的字符串。在 c# 中是否有一种简单的(即不是通过引用 Microsoft.VisualBasic 或必须学习 RegExes)方法来做到这一点?

编辑:使用 .NET Framework 3.5。

【问题讨论】:

    标签: .net .net-3.5 c#-3.0


    【解决方案1】:

    String.Split() 有其他重载。其中一些采用string[] 参数。

    string original = "first;&second;&third";
    string[] splitResults = original.Split( new string[] { ";&" }, StringSplitOptions.None );
    

    【讨论】:

      【解决方案2】:

      分割字符串的正则表达式非常简单,所以我会选择这条路线。

      http://msdn.microsoft.com/en-us/library/8yttk7sy.aspx

      【讨论】:

        【解决方案3】:

        .Net 的哪个版本?至少 2.0 及以后的版本包括以下重载:

        .Split(string[] separator, StringSplitOptions options)  
        .Split(string[] separator, int count, StringSplitOptions options)
        

        现在,如果他们只修复它以接受任何 IEnumerable 而不仅仅是数组。

        【讨论】:

          【解决方案4】:

          正则表达式版本可能更漂亮,但这也有效:

          string[] y = { "bar" };
          
          string x = "foobarfoo";
          foreach (string s in x.Split(y, StringSplitOptions.None))
                Console.WriteLine(s);
          

          这将打印 foo 两次。

          【讨论】:

            【解决方案5】:
             string[] stringSeparators = new string[] {"[stop]"};
                string[] result;
            result = someString.Split(stringSeparators, StringSplitOptions.None);
            

            通过http://msdn.microsoft.com/en-us/library/tabh47cf.aspx

            【讨论】:

              【解决方案6】:

              我一直在 .NET 2.0 下使用它。

              string[] args = "first;&second;&third".Split(";&".ToCharArray(),StringSplitOptions.RemoveEmptyEntries);
              

              【讨论】:

                猜你喜欢
                • 2021-09-13
                • 2019-11-16
                • 2015-01-18
                • 2020-04-09
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多