C# String.Split 用法快速掌握

String.Split方法用于按照指定的字符串来拆分原有字符串,并返回拆分后得到的字符串数组

String.Split的语法包括如下8种,根据分隔符为字符(char)或者字符串(string)可分为两类,这两类的第1、第2种用法均包含在第3、第4种用法里( 见所举示例代码中的的1b、1d ,2b、2d)。

//第一类:字符char作为分隔符

1. Split(Char[])  //根据指定的分隔字符将字符串拆分为子字符串。

2. Split(Char[], Int32)  //根据指定的分隔字符将一个字符串拆分成最大数量的子字符串。

3. Split(Char[], StringSplitOptions)  //根据指定的分隔字符和选项将字符串拆分为子字符串。

4. Split(Char[], Int32, StringSplitOptions)  //基于指定的分隔字符和(可选)选项将字符串拆分为最大数量的子字符串。

/*——————————————————————————————————————————————————————————————————————————*/

//第二类:字符串string作为分隔符

1. Split(String[])  //根据指定的分隔字符串将字符串拆分为子字符串。

2. Split(String[], Int32)  //根据指定的分隔字符串将一个字符串拆分成最大数量的子字符串。

3. Split(String[], StringSplitOptions)  //基于指定的分隔字符串和(可选)选项将字符串拆分为子字符串。

4. Split(String[], Int32, StringSplitOptions)  //基于指定的分隔字符串和(可选)选项将字符串拆分为最大数量的子字符串。

最好的理解方式还是学习代码,现举一个例子,包括上述各种方法的使用。

代码如下。两类的第1、第2种用法包含在第3、第4种用法里( 即下例代码中的的1b、1d ,2b、2d)

    class Program
    {
        static void Main(string[] args)
        {
            string s1 = ",ONE,,TWO,,,THREE,,";
            string s2 = "[stop]" +
                        "ONE[stop][stop]" +
                        "TWO[stop][stop][stop]" +
                        "THREE[stop][stop]";
            char[] charSeparators = new char[] { ',' };
            string[] stringSeparators = new string[] { "[stop]" };
            string[] result;
            // ------------------------------------------------------------------------------
            // 第一类:字符类型“char”作为分隔符的用法
            // ------------------------------------------------------------------------------
            Console.WriteLine("1) Split a string delimited by characters:\n");

            Console.WriteLine("1a) The original string is \"{0}\".", s1);  //1a) The original string is ",ONE,,TWO,,,THREE,,".
            Console.WriteLine($"The delimiter character is '{charSeparators[0]}'.\n");  //The delimiter character is ','.

            Console.WriteLine("1b) Split a string delimited by characters and " +
                              "return all elements:");   //1b) Split a string delimited by characters and return all elements:
            result = s1.Split(charSeparators, StringSplitOptions.None);
            Show(result);  //<><ONE><><TWO><><><THREE><><>

            Console.WriteLine("1c) Split a string delimited by characters and " +
                              "return all non-empty elements:");   //1c) Split a string delimited by characters and return all non-empty elements:
            result = s1.Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
            Show(result);  //<ONE><TWO><THREE>

            Console.WriteLine("1d) Split a string delimited by characters and " +
                              "return 2 elements:");
            result = s1.Split(charSeparators, 2, StringSplitOptions.None);
            Show(result);  //<><ONE,,TWO,,,THREE,,>

            Console.WriteLine("1e) Split a string delimited by characters and " +
                              "return 2 non-empty elements:");
            result = s1.Split(charSeparators, 2, StringSplitOptions.RemoveEmptyEntries);
            Show(result);  //<ONE><TWO,,,THREE,,>

            // ------------------------------------------------------------------------------
            // 第二类:字符串类型“string作为分隔符的用法
            // ------------------------------------------------------------------------------
            Console.WriteLine("2) Split a string delimited by another string:\n");

            Console.WriteLine($"2a) The original string is \"{s2}\".");
            Console.WriteLine("The delimiter string is \"{0}\".\n", stringSeparators[0]);  //The delimiter string is "[stop]".

            Console.WriteLine("2b) Split a string delimited by another string and " +
                              "return all elements:");
            result = s2.Split(stringSeparators, StringSplitOptions.None);
            Show(result);  //<><ONE><><TWO><><><THREE><><>

            Console.WriteLine("2c) Split a string delimited by another string and " +
                              "return all non-empty elements:");
            result = s2.Split(stringSeparators, StringSplitOptions.RemoveEmptyEntries);
            Show(result);  //<ONE><TWO><THREE>

            Console.WriteLine("2d) Split a string delimited by another string and " +
                              "return 2 elements:");
            result = s2.Split(stringSeparators, 2, StringSplitOptions.None);
            Show(result);  //<><ONE[stop][stop]TWO[stop][stop][stop]THREE[stop][stop]>

            Console.WriteLine("2e) Split a string delimited by another string and " +
                              "return 2 non-empty elements:");
            result = s2.Split(stringSeparators, 2, StringSplitOptions.RemoveEmptyEntries);
            Show(result);  //<ONE><TWO[stop][stop][stop]THREE[stop][stop]>

            void Show(string[] entries)
            {
                Console.WriteLine($"The return value contains these {entries.Length} elements:");
                foreach (string entry in entries)
                {
                    Console.Write($"<{entry}>");
                }
                Console.Write("\n\n");
            }         
        }
    }

完整运行结果如下:

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
### 回答1: C#中的string.format是一个字符串格式化方法,可以将一个字符串中的占位符替换为指定的值。它的基本语法如下: string.Format(string format, params object[] args); 其中,format是一个字符串,包含了一个或多个占位符,用花括号{}括起来。args是一个可变参数,用来传递要替换的值。 例如,下面的代码将会把字符串中的{}和{1}分别替换为"Hello"和"World": string str = string.Format("The message is: {} {1}", "Hello", "World"); 输出结果为:"The message is: Hello World"。 除了基本的占位符,还可以使用格式化字符串来指定输出的格式,例如: string str = string.Format("The number is: {:C}", 123.45); 输出结果为:"The number is: $123.45"。 这里的{:C}表示将第一个参数格式化为货币形式。更多的格式化选项可以参考MSDN文档。 ### 回答2: C是一种计算机程序设计语言,最初由贝尔实验室的Dennis Ritchie于1972年创建。C是一种高级语言,它的语法结构类似于自然语言,可以方便地阅读和理解,同时又具有强大的编程能力。C语言广泛应用于系统编程、嵌入式开发、操作系统、驱动程序、网络编程、图形编程等领域。 C语言具有简单、高效、可移植等特点,它可以在不同的计算机系统中编译和运行,这使得C语言成为了非常受欢迎的编程语言之一。在C语言中,程序员可以进行各种操作,如输入输出、变量定义、控制流程语句、函数调用等,这些操作可以被转换为机器指令,以实现计算机的功能。 C语言还具有丰富的库函数,这些函数可以被程序员方便地调用,在程序开发过程中,可以大大提高开发效率和程序性能。C语言库函数包括数学、字符串、输入输出、内存操作、文件处理等方面,它们使得C语言可以处理各种实际问题和任务。 C语言的语法结构简单明了,但是也需要程序员具有一定的编程基础和思维能力,才能编写出高质量的程序。同时,C语言也存在一些问题,如内存泄漏、缓冲区溢出等,这些问题需要程序员进行有效的处理和解决。 总之,C语言是一种非常重要的编程语言,它具有广泛的应用和不可替代的地位,对于想要从事计算机编程的人来说,学习C语言是必不可少的基础。 ### 回答3: 很抱歉,我需要更多的上下文信息来正确回答您的问题。 "c"这个字母有很多可能的含义,因此我需要更多具体的信息来理解您的问题。您能否提供更多上下文信息或者问题的背景?这样我才能够更好地回答您的问题。感谢您的理解。
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值