字符串是写代码时碰得最多的一种数据。C# 的 string 自带一大批实用方法,这篇挑日常出场率最高的几个:Split、IndexOf、Substring、Replace、Trim 和 Join,每个都配可直接运行的示例,学会就能处理大部分文本了。
Split:按分隔符拆成数组
string line = "apple,banana,cherry";
string[] fruits = line.Split(',');
Console.WriteLine(fruits[1]); // 输出:banana
Console.WriteLine(fruits.Length); // 输出:3
要限制最多拆成几段,传第二个参数:
string record = "张三,男,18,喜欢打篮球";
string[] parts = record.Split(',', 2);
Console.WriteLine(parts[1]); // 输出:男,18,喜欢打篮球
处理「第一列是名字、后面内容里也有逗号」这类格式时,这个重载特别好用。
IndexOf + Substring:先找位置,再截取
string url = "https://sherry.cool";
int pos = url.IndexOf("://");
Console.WriteLine(pos); // 输出:5
Console.WriteLine(url.Substring(0, pos)); // 输出:https
Console.WriteLine(url.Substring(pos + 3)); // 输出:sherry.cool
IndexOf 找不到时返回 -1,所以截取前先判断一下更稳:
if (pos >= 0)
{
Console.WriteLine(url.Substring(pos + 3));
}
Replace:整串替换
string date = "2026-09-30";
Console.WriteLine(date.Replace('-', '/')); // 输出:2026/09/30
注意 string 的方法都不会改动原字符串,而是返回新字符串——string 是不可变的。
Trim:去掉两端空白
处理用户输入几乎必用:
string input = " hello ";
Console.WriteLine("[" + input.Trim() + "]"); // 输出:[hello]
Console.WriteLine("[" + input.TrimStart() + "]"); // 输出:[hello ]
Join:把数组拼回字符串
Split 的反操作是 string.Join:
string[] tags = { "python", "css", "csharp" };
Console.WriteLine(string.Join("、", tags));
// 输出:python、css、csharp
判空:IsNullOrEmpty 与 IsNullOrWhiteSpace
string name = " ";
Console.WriteLine(string.IsNullOrEmpty(name)); // 输出:False
Console.WriteLine(string.IsNullOrWhiteSpace(name)); // 输出:True
IsNullOrWhiteSpace 连「全是空格」也能拦下来,校验表单输入时用它更保险。
小结
- Split 拆数组、Join 拼字符串,是一对反操作
- IndexOf 找位置(找不到返回 -1),Substring 截取
- Replace 替换、Trim 去空白,都返回新字符串
- string 不可变,循环里频繁拼接要换 StringBuilder
- 判空优先用 IsNullOrWhiteSpace
下一篇可以聊聊 StringBuilder,看看到底为什么要用它来做拼接。
评论 0
还没有评论,来抢沙发吧~ 🛋