一,十五个基础的字符串操作方法
二,StringBiuder
1.字符串的缺点
当需要对一个字符串变量重复赋值时,在内存中会产生大量的垃圾数据信息。
当重复赋值的频率很高时,执行的效率就会降低。
2.StringBuilder 简介
字符串;Builder,构建器;连起来是“字符串构建器”。
StringBuilder 是一个类。SB 类型的变量是引用类型。
StringBuilder 类型的“字符串变量”,一直操作同一块内存空间,不会产生 垃圾数据,且执行效率远远高于 string 类型的字符串变量。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace String
{
class Program
{
static void Main(string[] args)
{
string name = "Monkey";
string name2 = "lkk";
string str = "a|b|c";
char a = '|';
char b = 's';
//将字符转换成大写形式,仅对字母有效。返回值是转换后的字符串。
Console.WriteLine("ToUpper:"+name.ToUpper());
//将字符转换成小写形式,仅对字母有效。返回值是转换后的字符串。
Console.WriteLine("ToLower:" + name.ToLower());
//查找某个字符串在字符串中第一次出现的位置。 若无返回值为-1
Console.WriteLine("IndexOf:" + name.IndexOf("a"));
//查找某个字符串在字符串中最后一次出现的位置 若无返回值为-1
Console.WriteLine("LastIndexOf:" + name.LastIndexOf("k"));
//比较两个字符串是否相同。相同返回真,不相同返回假。
Console.WriteLine("Equals:" + name.Equals(name2));
//分割字符串。返回字符串类型的数组。
Console.WriteLine("Split:"+ str.Split(a));
//截取字符串。返回截取后的子串。(从第几个开始截取 截取至最后)
Console.WriteLine("Substring(2):"+name.Substring(2));
//截取字符串。返回截取后的子串。(从第几个开始截取,截取几个字符)
Console.WriteLine("Substring(2,2):"+name.Substring(2,2));
//判断是否以...字符串开始。如果是,返回真;如果不是,返回假
Console.WriteLine("StartsWith:"+name.StartsWith("a"));
//判断是否以...字符串结束。如果是,返回真;如果不是,返回假。
Console.WriteLine("EndsWith:" + name.EndsWith("a"));
//将字符串中的某个字符串替换成一个新的字符串。返回新的字符串。
//字符串变量.方法名(旧字符串,新字符串);
Console.WriteLine("Replace:"+str.Replace(a,b));
//判断某个字符串中是否包含指定的字符串。如果包含返回真,否则返回假。
Console.WriteLine("Contains:" + name.Contains(b));
//去掉字符串中前后空格。返回处理后的字符串
Console.WriteLine("Trim:" + name.Trim());
//去掉字符串结束后的空格。返回处理后的字符串。
Console.WriteLine("TrimEnd:" + name.TrimEnd());
//去掉字符串开始前的空格。返回处理后的字符串。
Console.WriteLine("TrimStart:" + name.TrimStart());
//作用:判断一个字符串是否为 Null 或者空。
//如果为 null 或者空,返回真; 否则返回假。
//null 是不占内存空间的,而空字符串(“”)是占内存空间的。
//使用:string.方法名(字符串变量);
Console.WriteLine(""+string.IsNullOrEmpty(name));
/*创建 StringBuilder 类型的变量
StringBuilder sb = new StringBuilder(); //创建一个对象。
注意:StringBuilder 依赖 System.Text 命名空间。*/
StringBuilder sb = new StringBuilder();
//往 sb 中追加数据 sb.Append(i); //追加数据。
//sb.ToString(); //将 sb 转成字符串形式。
sb.ToString();
//演示①:单个数据的追加;
sb.Append("dad");
sb.Append(2123);
//演示②:使用 for 循环循环追加数据。
for (int i = 0; i < 5; i++) {
sb.Append(i);
}
sb.ToString();
for (int i = 0; i < 5; i++)
{
Console.WriteLine(sb[i]);
}
//清空 sb 中的数据
sb.Clear();
Console.WriteLine(sb);
Console.ReadKey();
}
}
}