在很多情况下,我们需要通过程序去处理一些文本,文本都是以字符串表示的,所以我们今天来看一看,使用 C# 处理字符串。
我们可以将字符串看成一个只读的 char 数组,通过数组下标的方式访问每个值:
using System;
namespace ConsoleApp18
{
class Program
{
static void Main(string[] args)
{
string testString = "Hello World!";
char testChar = testString[1];
Console.WriteLine($"{testChar}");
}
}
}
运行结果:
所以,我们可以将字符串转换成数组,然后通过 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}");
}
}
}
}
运行结果:
我们可以通过 ToUpper() 将所有字符都转换成大写:
using System;
namespace ConsoleApp18
{
class Program
{
static void Main(string[] args)
{
string testString = "Hello World!";
string upperString = testString.ToUpper();
Console.WriteLine($"{upperString}");
}
}
}
运行结果:
同样,你可以使用 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}");
}
}
}
运行结果:
你也可以在 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}");
}
}
}
运行结果:
前面,我们通过 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}");
}
}
}
}
运行结果: