split() 跳过指定分隔符 将字符串变成字符串数组

split() 不仅可以跳过一个指定的字符串/字符,也可以跳过多个指定的字符或者字符串,也可以跳过一个字符串/字符数组中的任何一个/多个字符串/字符

分隔符是一个字符

string s = "You win some. You lose some.";

string[] subs = s.Split(' ');

foreach (var sub in subs)
{
    Console.WriteLine($"Substring: {sub}");
}

// This example produces the following output:
//
// Substring: You
// Substring: win
// Substring: some.
// Substring: You
// Substring: lose
// Substring: some.

分隔符是一个字符数组

string s = "You win some. You lose some.";

string[] subs = s.Split(' ', '.');

foreach (var sub in subs)
{
    Console.WriteLine($"Substring: {sub}");
}

// This example produces the following output:
//
// Substring: You
// Substring: win
// Substring: some
// Substring:
// Substring: You
// Substring: lose
// Substring: some
// Substring:

这里需要注意,如果不设置splitoptions 那么用split得到的数组里会默认把分隔符换成空格,如果我们的s = “123 23”,那么就会得到123和空格和23,若需要对通过split处理过得到的数组进行数字处理,那么空格那个字符就会导致错误 所以

下面的实例体现了splitoptions的用处,会将间隔符从生成的字符数组里移除掉,

string s = "You win some. You lose some.";
char[] separators = new char[] { ' ', '.' };

string[] subs = s.Split(separators, StringSplitOptions.RemoveEmptyEntries);

foreach (var sub in subs)
{
    Console.WriteLine($"Substring: {sub}");
}

// This example produces the following output:
//
// Substring: You
// Substring: win
// Substring: some
// Substring: You
// Substring: lose
// Substring: some

当有多种分隔符或者不确定分隔符是哪一种/哪一个时,用分隔符数组作为split()输入的参数是非常省事的

        static void Main(string[] args)
        {
            string s = "You win some. You lose some.";
            char[] separators = new char[] { ' ', '.',':' };

            string[] subs = s.Split(separators, StringSplitOptions.RemoveEmptyEntries);

            for(int i = 0;i<subs.Length;i++)
            {

                Console.WriteLine(subs[i]+"\r");
                Console.ReadLine();
            }

string s中没有分隔符 ':' ,有 ' ''.'两种分隔符,

输出

string strArray;

strArray = put.Trim().ToString().Split(" ".ToCharArray());

如果输入的字符串是 123.1 12.11

那么输出的字符数组strArray = {“123.1”,“12.11”};

split()的第一个参数是“间隔字符串的间隔符”


版权声明:本文为qq_42052038原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。