iT邦幫忙

2021 iThome 鐵人賽

DAY 15
0
Software Development

C# 入门系列 第 15

C# 入门之字符串处理

  • 分享至 

  • xImage
  •  

在很多情况下,我们需要通过程序去处理一些文本,文本都是以字符串表示的,所以我们今天来看一看,使用 C# 处理字符串。

我们可以将字符串看成一个只读的 char 数组,通过数组下标的方式访问每个值:

using System;

namespace ConsoleApp18
{
    class Program
    {
        static void Main(string[] args)
        {
            string testString = "Hello World!";
            char testChar = testString[1];
            Console.WriteLine($"{testChar}");
        }
    }
}

运行结果:
https://ithelp.ithome.com.tw/upload/images/20210918/20099494vQRQI5DXMY.png

所以,我们可以将字符串转换成数组,然后通过 char 数组的方式,进行处理字符串(遍历):

using System;

namespace ConsoleApp18
{
    class Program
    {
        static void Main(string[] args)
        {
            string testString = "Hello World!";
            char[] testChar = testString.ToCharArray();
            foreach ( char i in testChar)
            {
                Console.WriteLine($"{i}");
            }
        }
    }
}

运行结果:
https://ithelp.ithome.com.tw/upload/images/20210918/2009949452ajENOQ6I.png

我们可以通过 ToUpper() 将所有字符都转换成大写:

using System;

namespace ConsoleApp18
{
    class Program
    {
        static void Main(string[] args)
        {
            string testString = "Hello World!";
            string upperString = testString.ToUpper();
            Console.WriteLine($"{upperString}");
        }
    }
}

运行结果:
https://ithelp.ithome.com.tw/upload/images/20210918/20099494L5qiRgAbWr.png

同样,你可以使用 ToLower() 将所有字符转换成小写字母;

我们可以使用 Trim() 删除字符前后的空格:

using System;

namespace ConsoleApp18
{
    class Program
    {
        static void Main(string[] args)
        {
            string testString = " Hello World! ";
            Console.WriteLine($"{testString}");
            string newString = testString.Trim();
            Console.WriteLine($"{newString}");
        }
    }
}

运行结果:
https://ithelp.ithome.com.tw/upload/images/20210918/20099494TmGo6lt2Fq.png

你也可以在 Trim() 删除指定的字符:

using System;

namespace ConsoleApp18
{
    class Program
    {
        static void Main(string[] args)
        {
            char[] trimChars = { ' ', '!' };     // 指定要删除的字符
            string testString = " Hello World! ";
            Console.WriteLine($"{testString}");
            string newString = testString.Trim(trimChars);    // 指定字符
            Console.WriteLine($"{newString}");
        }
    }
}

可以使用 PadLeft() 在字符串左边添加空格(默认空格,你也可以使用其他的字符或符号),使其达到指定的长度;

using System;

namespace ConsoleApp18
{
    class Program
    {
        static void Main(string[] args)
        {
            string testString = "Hello World!";
            Console.WriteLine($"{testString}");
            string newString = testString.PadLeft(20);
            Console.WriteLine($"{newString}");
        }
    }
}

如果是在右边添加空格,可以使用 PadRight();

使用指定的字符:

using System;

namespace ConsoleApp18
{
    class Program
    {
        static void Main(string[] args)
        {
            string testString = "Hello World!";
            Console.WriteLine($"{testString}");
            testString = testString.PadLeft(20,'-');
            // 字符串本身占 10 位,为了两遍一致,这里写了 30
            testString = testString.PadRight(30,'-');  
            Console.WriteLine($"{testString}");
        }
    }
}

运行结果:
https://ithelp.ithome.com.tw/upload/images/20210918/20099494PVEbQIokp8.png

前面,我们通过 char 数组的方式,将字符串拆成一个字符一个字符处理的,但很多情况,我们需要处理的是将字符拆成一个单词一个单词,或一句话:

using System;

namespace ConsoleApp18
{
    class Program
    {
        static void Main(string[] args)
        {
            string testString = "Hello World!";
            char[] separator = { ' ' };
            string[] words;
            words = testString.Split(separator);
            foreach (string word in words)
            {
                Console.WriteLine($"{word}");
            }            
        }
    }
}

运行结果:
https://ithelp.ithome.com.tw/upload/images/20210918/200994942e2WUilAbq.png


上一篇
C# 入门之类(Class)
下一篇
C# 入门 SSH 连接
系列文
C# 入门32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言