CS3L24——string
CS3L24——string
本章代码关键字
1 | string[] //通过索引可以获取字符串特定位置字符 |
string
C# 的 string
提供了很多方法方便我们使用
注意,C# 的
string
里边存储的字符组合本身是不可变的,也就说初始化完毕后就不会变化内容了
这也导致所有看起来修改了字符串的方法,其实都是返回了一个新的字符串
字符串指定位置字符获取
string
本质是 char
数组,因此通过索引可以获取特定位置字符
1 | //string本质是char数组 |
输出:
1 | M |
将字符串转换为字符数组
1 | //转为char数组 |
输出:
1 | r |
字符串拼接(格式化)
字符串内插本质就是使用了这个方法(#TODO#)
1 | string str = "MrTang"; |
输出:
1 | 13333 |
正向查找字符位置
从 0 开始从左往右开始数,返回下标号,如果存在相同的字符,则只返回第一个相同的字符下标
如果是字符组合的,则返回需要查找的字符组合第一个字符的下标位置
如果不存在这个字符或字符组合,返回 -1
1 | string str = "我是MrTangMrTang"; |
输出:
1 | 3 |
反向查找指定字符串位置
从右往左数,返回第一次相同的字符下标,如果是字符组合的,则返回需要查找的字符组合第一个字符的下标位置
如果字符串内不存在这样的字符,就返回 -1
1 | string str = "我是MrTangMrTang"; |
输出:
1 | 8 |
移除指定位置后的字符
移除传入的下标位置及该下标之后的所有字符
注意!
str.remove()
不是直接改变字符串本身,而是返回一个新的字符串,因此需要一个变量来存储返回值,直接使用没有效果
1 | string str = "我是MrTangMrTang"; |
输出:
1 | 我是MrTangMrTang |
可以传入两个参数
- 参数1:开始位置
- 参数2:字符个数
1 | string str = "我是MrT" |
输出:
1 | 我MrT |
替换指定字符串
会替换所有与传入参数相同的字符串,替换为第二个参数的字符串
注意!
string.replace()
不是直接改变字符串本身,而是返回一个字符串,因此需要一个变量来存储返回值,直接使用没有效果
1 | string str = "我是MrTangMrTang"; |
输出:
1 | 我是MrTangMrTang |
大小写转换
string.ToUpper()
会将字符串全部转换为大写,string.ToLower()
会将字符串全部转换为小写
注意!
string.ToUpper()
和string.ToLower()
不是直接改变字符串本身,而是返回一个字符串,因此需要一个变量来存储返回值,直接使用没有效果
1 | str = "qwertyuiop"; |
输出:
1 | qwertyuiop |
字符串截取
截取从指定位置开始之后的字符串,或者传入两个参数,截取某个位置后指定数量的字符
注意
与其他的方法一样,
Substring
不是直接改变字符串本身,而是返回一个字符串,因此需要一个变量来存储返回值,直接使用没有效果
截取的指定个数不能超过字符串长度,不会自动判断是否越过界限,否则报错
1 | string str = "MrTangMrTang"; |
输出:
1 | TangMrTang |
字符串切割
split()
方法就是以传入的参数为界,将字符串切割为字符串数组
1 | string str = "1,2,3,4,5,6,7"; |
输出:
1 | 1 |