字符串是特殊的引用类型,无法被修改
字符串可以当做字符数组使用,但是只能读不能写
字符串可以进行+,+=运算,但不能-,-=运算
如果要修改字符串中的内容,需要一些特殊的操作
string.Compare 比较字符串的内容,判断字符串某些字符是否相等.
Contains 返回一个值,该值只是指定的子串是否出现在字符串中.
Remove 返回指定数量字符在当前这个实例起始点在已删除的指定的位置的新字符串
string.Concat 把多个字符串实例合并为一个实例
CopyTo 把从选定的下标开始的特定数量的字符复制到数组的一个全新实例中
Format 格式化包含各种值的字符串和如何格式化每个值的说明符
IndexOf 定位字符串中第一次出现某个给定子字符串或字符的位置
Index0fAny 定位字符串中第一次出现某个字符或一组字符的位置
Insert 把一个字符串实例插入到另一个字符串实例的指定索引处
等等……
以下为实例:
//相等0 不相等不是0
string str = "sdferrgwg";
int n = string.Compare(str, "sdferrgwg");
Console.WriteLine(n);
//是否包含
str = "asads";
bool b = str.Contains("as");
Console.WriteLine(b);
//删除 str索引,长度
str = "sfasegr";
str = str.Remove(3, 1);
Console.WriteLine(str);
//合并
str = string.Concat("abc", "def", "qwe");
Console.WriteLine(str);
//拷贝 str索引,目标字符数组,目标索引,长度
str = "abcde";
char[] cs = new char[10];
str.CopyTo(1, cs, 0, 3);
Console.WriteLine(cs);
//Format用法较多,请单独搜索
//查找字符串返回索引
str = "abcdefbc";
n = str.IndexOf("bc");
Console.WriteLine(n);
//查找任意字符串返回索引
str = "abcdef";
n = str.IndexOfAny(new char[] { 'b', 'e' });
Console.WriteLine(n);
//插入 索引 内容
str = "abcde";
str = str.Insert(1, "110");
Console.WriteLine(str);
//合并字符串数组 分隔符,字符串
str = string.Join(",", new string[] { "abc", "bcd", "def" });
Console.WriteLine(str);
//查找字符串返回最后一次出现的位置索引
str = "abcdebc";
n = str.LastIndexOf("bc");
Console.WriteLine(n);
//LastIndexOfAny同理
//左侧填充空格
str = "abcde";
str = str.PadLeft(10);
Console.WriteLine(str);
//右侧PadRight同理
//替换
str = "abcde";
str = str.Replace("bc", "00");
Console.WriteLine(str);
//拆分
str = "abc,def,ggg";
string [] strs = str.Split(',');
Console.WriteLine(strs[1]);
//截取字符串 索引 长度
str = "abcdef";
str = str.Substring(1, 3);
Console.WriteLine(str);
//转换小写
str = "DWDdasdWD";
str = str.ToLower();
Console.WriteLine(str);
//转换大写ToUpper同理
//删除首尾的空白
str = " abcdef ";
str = str.Trim();
Console.WriteLine(str);
StringBuilder
因为字符串不能被修改,只能创建新的字符串,之前的就变成了垃圾,在处理很长的字符串时候,就要用到StringBuilder
这时就是真正的对字符串本身进行修改了
//StringBuilder
StringBuilder sb = new StringBuilder("Hello ");
sb.Append("Unity!");
sb.Append("a").Append("b").Append("c");
sb.Insert(4, "ooooo");
sb.Remove(4, 5);
sb.Replace("Unity!", "C#");
Console.WriteLine(sb.ToString());