字符串常用方法及特点
字符串的特点:
1、字符串是引用类型:字符串的数据是存储在堆空间中,栈空间中的变量存储了该数据的引用地址。
2、字符串是不可变的:当给一个字符串变量重新赋值时,旧值并没有销毁,而是重新开辟一块空间来存新值。
3、字符串可以看做是一个只读的字符数组:也就是说我们可以用for循环遍历字符串,得到所有的单个字符;也可以用 变量名[索引下标] 的形式得到相对应的字符。
String name;//定义一个字符串变量。
name.Length:【属性】获取字符串中字符的个数。
name.ToUpper():将字符转换成大写形式,仅对字母有效。返回值是转换后的字符串。
name.ToLower():将字符转换成小写形式,仅对字母有效。返回值是转换后的字符串。
name.Equals():比较两个字符串是否相同,返回bool值。
name.Split():以某个字符分割字符串,返回字符串类型数组。(注意:"123/456/",以'/'分割会分割为"123" "456" ""三个字符串,而不是两个。)
name.Substring():截取字符串,返回截取出来的字符串。(例如:name.Substring(2):从第三个字符开始,截取到最后。 name.Substring(2,2):从第三个字符开始,截取两个字符。)
name.IndexOf():查找某个字符串在字符串中第一次出现的位置,返回该字符串的索引下标,找不到返回-1。
name.LastIndexOf():查找某个字符串在字符串中最后一次出现的位置,返回该字符串的索引下标,找不到返回-1。
name.StartsWith():判断是否以某字符串开始,返回bool值。
name.EndsWith():判断是否以某字符串结尾,返回bool值。
name.Replace():将字符串中的某个字符串替换成一个新的字符串,返回新的字符串。
name.Contains():判断字符串中是否包含某个字符串,返回bool值。
name.TrimStart():去掉字符串开始前的空格,返回处理后的字符串。
name.TrimEnd():去掉字符串结束后的空格,返回处理后的字符串。
name.Trim():去掉字符串中前后的空格,返回处理后的字符串。
string.IsNullOrEmpty():【静态方法】判断一个字符串是否为null或者空,返回bool值。(null是不占内存空间的,而空字符串("")是占内存空间的。)
String.Format():【静态方法】对字符串格式化。(格式化不是指清空,而是指转换为特定的格式)常用的格式化数值结果表:
字符 |
说明 |
示例 |
输出 |
C | 货币 | string.Format("{0:C3}", 2) | $2.000 |
D | 十进制 | string.Format("{0:D3}", 2) | 002 |
E | 科学计数法 | 1.20E+001 | 1.20E+001 |
G | 常规 | string.Format("{0:G}", 2) | 2 |
N | 用分号隔开的数字 | string.Format("{0:N}", 250000) | 250,000.00 |
X | 十六进制 | string.Format("{0:X000}", 12) | C |
string.Format("{0:000.000}", 12.2) | 012.200 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?