String
ToUpper()
- 作用:将字符转换成大写形式,仅对字母有效。返回值是转换后的字符串。
- 使用:字符串变量.方法名();
- 例如:name.ToUpper();
ToLower()
- 作用:将字符转换成小写形式,仅对字母有效。返回值是转换后的字符串。
- 使用:字符串变量.方法名();
- 例如:name.ToUpper();
Equals()
- 作用:比较两个字符串是否相同。相同返回真,不相同返回假。
- 使用:字符串变量.方法名(要比较的字符串变量);
- 例如:name.Equals(name2);
Split()
- 作用:分割字符串。返回字符串类型的数组。
- 使用:字符串变量.方法名(用于分割的字符数组);
- 例如:name3.Split(m_char);
Substring()
- 作用:截取字符串。返回截取后的子串。
- 使用:字符串变量.方法名(开始截取的位置);
- 字符串变量.方法名(开始截取的位置,截取多长);
- 例如:
- name.Substring(2); //从角标为 2 的位置,截取到最后;
- name.Substring(2,2); //从角标为 2 的位置,截取 2 个字符;
IndexOf()
- 作用:查找某个字符串在字符串中第一次出现的位置。返回所在的索引位置值。如果没有找到,返回-1。
- 使用:字符串变量.方法名(子字符串);
- 例如:name.IndexOf(“on”);
LastIndexOf()
- 作用:查找某个字符串在字符串中最后一次出现的位置。返回所在的索引位置值。如果没有找到,返回-1。
- 使用:字符串变量.方法名(子字符串);
- 例如:name.IndexOf(“on”);
StartsWith()
- 作用:判断是否以...字符串开始。如果是,返回真;如果不是,返回假。
- 使用:字符串变量.方法名(子字符串);
- 例如:name.StartsWith(“Mo”);
EndsWith()
- 作用:判断是否以...字符串结束。如果是,返回真;如果不是,返回假。
- 使用:字符串变量.方法名(子字符串);
- 例如:name.EndsWith(“key”);
Replace()
- 作用:将字符串中的某个字符串替换成一个新的字符串。返回新的字符串。
- 使用:字符串变量.方法名(旧字符串,新字符串);
- 演示:name.Replace(“Mon”, “CODE”);
Contains()
- 作用:判断某个字符串中是否包含指定的字符串。如果包含返回真,否则返回假。
- 使用:字符串变量.方法名(子字符串);
- 例如:name.Contains(“key”);
Trim()
- 作用:去掉字符串中前后空格。返回处理后的字符串。
- 使用:字符串变量.方法名();
- 例如:address.Trim();
TrimEnd()
- 作用:去掉字符串结束后的空格。返回处理后的字符串。
- 使用:字符串变量.方法名();
- 例如:address.TrimEnd();
TrimStart()
- 作用:去掉字符串开始前的空格。返回处理后的字符串。
- 使用:字符串变量.方法名();
- 例如:address.TrimStart();
IsNullOrEmpty()
- 作用:判断一个字符串是否为 Null 或者空。如果为 null 或者空,返回真;否则返回假。null 是不占内存空间的,而空字符串(“”)是占内存空间的。
- 使用:string.方法名(字符串变量);
- 例如:string.IsNullOrEmpty(name);
Length()
- 作用:获取字符串字符的个数。
- 使用:字符串变量.方法名();
- 例如:adress.Length();
- 作用:将字符串按照某种格式输出,{数字}为占位符,从0开始,“,”后面为占位符的变量
- 使用:String.Format(要格式化的字符串);
- 例如:String.Format("{0:yyyy年MM月dd日 HH:mm}", “2020-05-11”);
字符串特点
- 字符串是引用类型,他的数据是存储在堆空间,在栈空间中存储了该数据的引用地址。
- 字符串是不可变的,当你给一个字符串变量重新赋值时,旧值并没有销毁,而是重新开辟一块空间来存储新值。
- 字符串可以看做是是只读的字符数组,使用字符串变量[下标]的形式可以取字符串中指定的字符,也可以使用 for 循环变量数组。
StringBuilder
应用场景
- 当需要对一个字符串变量重复赋值或拼接时,在内存中会重新分配内存,产生大量的垃圾数据信息(由于string特殊的引用类型性质),当重复赋值的频率很高时,执行的效率就会降低。
- StringBuilder在创建的时候就会定义一个较大的空间,只有满的时候才会动态扩容,产生gc的频率会降低。
使用方法
- 创建 StringBuilder 类型的对象
-
- StringBuilder sb = new StringBuilder(); //创建一个对象。
- 注意:StringBuilder 依赖 System.Text 命名空间。
- 往StringBuilder中追加数据
- sb.Append(i);
- sb.AppendFormat("{0}+{1}",100,999);
- 往StringBuilder中指定位置插入数据
- 删除StringBuilder中指定位置开始指定长度的数据
- 清空StringBuilder中的数据
- 查看StringBuilder的当前容量
- 获取StringBuilder的长度
- 查看StringBuilder某个位置的数据
- 修改StringBuilder某个位置的数据
- 替换StringBuilder中的数据
与其临渊羡鱼,不如退而结网
© 2021 我的编程学习笔记