高效掌握C#第三回---字符串常用操作
上两回介绍了C#中的最常用的6种基本类型以及它们的集合---数组。本回书讲解字符串常用基本操作。
字符串是我们编程过程中最常打交道的对象了,所以掌握.net framework给我们提供的常用字符串操作函数是非常必要的。
1 分割字符串
用单个字符来分隔:
string str="aaajbbbjccc";
string[] sArray=str.Split('j');
foreach(string i in sArray) Response.Write(i.ToString() + "<br>");
输出结果:
aaa
bbb
ccc
string str="aaajbbbscccjdddseee";
foreach(string i in sArray) Response.Write(i.ToString() + "<br>");
输出结果:
aaa
bbb
ccc
ddd
eee
这是一个具有语法错误的语句,Split 的 separator 参数应该是 char[] 或 string[],不应是字符串。正确的示例:
char[] separator = { 'o' };
string[] arr = str.Split(separator);
方法原型
详细介绍:将数组strArr中的内容拼接成一个字符串,并在对应数组的每两项间添加分隔符str
string Join(string separator, string[] value);
Console.WriteLine(string.Join("爱", new string[] { "你", "我","他" }));
//输出结果是:你爱我爱他
格式:Substring(int startindex, int len)
用于获取源字符串指定起始位置startindex,指定长度len的字符串。
参数Startindex索引从0开始,且最大值必须小于源字符串的长度,否则会编译异常;
参数len的值必须不大于源字符串索引指定位置开始,之后的字符串字符总长度,否则会出现异常;
示例:
string s4 = "Visual C# Express";
System.Console.WriteLine(s4.Substring(7, 2)); // outputs "C#" ,C为第八个字符
4.替换
格式:Replace(string oldValue, string newValue)
用于字符串中特定字符串组合的替换,即将源字符串中的所有oldValue 字符串替换为 newValue 字符串。
示例:
string s5 = "Visual C# Express";
System.Console.WriteLine(s5.Replace("C#","VB")); // outputs "Visual VB Express"
System.Console.WriteLine(s4.Replace("C#", "Basic")); // outputs "Visual Basic Express"
5. 字符串索引 IndexOf()
若要在一个字符串中搜索另一个字符串,可以使用 IndexOf()。如果未找到搜索字符串,IndexOf() 返回 -1;否则,返回它出现的第一个位置的索引(从零开始)。
示例:
string s13 = "Battle of Hastings, 1066";
System.Console.WriteLine(s13.IndexOf("Hastings")); // outputs 10 ,注意从0开始数起
System.Console.WriteLine(s13.IndexOf("1967")); // outputs -1
6.Contains(判断是否存在)
public bool Contains(string text):如果字符串中出现text,则返回true,反之false,如果text为("")也返回true。
如:
string st="语文数学英语";
bool b=st.Contains("语文");
Console.WriteLine(b);//true
7.Trim(清空空格):
public string Trim ():将字符串对象包含的字符串两边的空格去掉后返回。
public string Trim ( params char[] trimChars ):从此实例的开始和末尾移除数组中指定的一组字符的所有匹配项。
如:
string st ="abcadef";
string newstring = st.Trim(new char[] {‘a’});//寻找st字符串中开始与末尾是否有与“a“匹配,如有,将其移除。
Console.WriteLine(newstring); //即:bcadef
注:如果字符串为"aaaabcadef",返回依然为bcadef。当移除第一个a时,开始依然为a,继续移除,直到没有。
public string TrimEnd ( params char[] trimChars ):对此实例末尾与指定字符进行匹配,true则移除
public string TrimStart ( params char[] trimChars ):对此实例开始与指定字符进行匹配,true则移除
8.EndsWith,StartsWith(判断字符串的开始或结束)
public bool EndsWith ( string value ):判断对象包含字符串是否以value指定的字符串结束,是则为 true;否则为 false。
public bool EndsWith ( string value, StringComparison comparisonType ):第二个参数设置比较时区域、大小写和排序规则。
public bool StartsWith ( string value ):判断对象包含字符串是否以value指定的字符串开始,是则为 true;否则为 false。
public bool StartsWith ( string value, StringComparison comparisonType ) :第二个参数设置比较时区域、大小写和排序规则。
如:
string st="语文数学英语abc";
bool b=st.EndsWith("英语ABC",StringComparison.CurrentCultureIgnoreCase);//第二个参数忽略大小比较。
Console.WriteLine(b);//true
9.填充字符串 PadLeft
int n = 2;
string strTemp = n.ToString().PadLeft(3, '0');
Console.WriteLine(strTemp); //看字符串长度是否满足3位,不满足则在字符串左边以"0"补足,输出002
10. 判断开始和结束
StartsWith开始
方法原型
bool <strName>.StartsWith(String value) 确定此实例的开头是否与指定的字符串匹配
string str = "我爱中华";
bool istrue = str.StartsWith("我哎");
Console.WriteLine(istrue);
输出结果是:False
EndsWidth结束
方法原型
bool <strName>.EndsWith(string value) 确定此实例的结尾是否与指定的字符串匹配
string str = "我爱中华";
bool istrue = str.EndsWith("中国");
Console.WriteLine(istrue);
输出结果:False
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?