1.string(char[]value)
把char数组变成字符串
char[] cha = { 'e', 'b', 'c' };
string str = new string(cha);
Console.WriteLine(str);
//ebc
2.string(char c,int count)
生成一个由count个c组成的字符串
string str = new string('q',5);
Console.WriteLine(str);
//qqqqq
1.int string.Length()
获取字符串的长度
string str=”asdffd”;
Console.WriteLine(str.Length);
//6
2.索引
string str = "qwe";
Console.WriteLine(str[0]);
//q
1.string string.Insert(int startIndex,string value)
在指定索引位置插入指定字符串
string str = "aaaaa";
str=str.Insert(2, "b");
Console.WriteLine(str);
//aabaaa
2.string string.Join(string separator,params string[] value)
为静态方法,串联字符串数组的所有元素,在每个元素中使用指定的分隔符
char[] cha = { 'a', 'a', 'a', 'a', };
string s = string.Join("-",cha);
Console.WriteLine(s);
//a-a-a-a
3.运算符+
4.string string.Concat(string[])
把字符串数组里的元素连接成一个字符串,相当于string.Join(“”,string[])
5.string string.PadLeft(int totalWidth,char paddingchar)
在字符串左边填充一定paddingchar,直到字符串长度为totalWidth
string str = "qqqwwwee";
str = str.PadLeft(20, ' ');
Console.WriteLine(str);
// qqqwwwee
6.string string.PadRight(int totalWidth,char paddingchar)
在字符串右边填充
1.1string string.Substring(int startIndex)
取从位置startIndex开始一直到最后的子字符串
string str = "AAAAAbbccc";
str=str.Substring(3);
Console.WriteLine(str);
//AAbbccc
1.2string string.Substring(int startIndex,int length)
取从位置starIndex开始,长度为length的子字符串,如果子字符串的长度不足length则报错
string str = "AAAAAbbccc";
str = str.Substring(2, 4);
Console.WriteLine(str);
//AAAb
2.1string string.Remove(int startIndex)
从startIndex开始删除,返回一个新的字符串
string str = "qqqwwwee";
str = str.Remove(2);
Console.WriteLine(str);
//qq
2.2string string.Remove(int startIndex,int count)
从startIndex开始删除,删除count个
3.string string.Trim()
删除字符串前后的空格
string str = " qqqwwwee ";
str = str.Trim();
Console.WriteLine(str);
//qqqwwwee
4.string string.TrimEnd()
删除后面的空格
5.string string.TrimStart()
删除前面的空格
1.string string.ToLower()
得到字符串的小写形式
string str=”AbCd”;
Console.WriteLine(str+”=====”+str.ToLower());
//AbCd=====abcd
2.string string.ToUpper();
得到字符串的大写形式
3.string string.Replace(string oldValue,string newValue)
将字符串中的出现oldValue的地方替换为newValue
string str = "AAAAAccc";
str=str.Replace("A","B");
Console.WriteLine(str);
//BBBBBccc
4.char[] string.ToCharArray()
把字符串转换成字符数组
string str = "ab";
char []cha=str.ToCharArray();
for (int i = 0; i <cha.Length; i++)
{
Console.WriteLine(cha[i]);
}
//a
//b
5.string string.Format(string format,object arg0)
用法和Console.WriteLine差不多
string a = "a";
string b = "b";
string str = string.Format("{0}:::{1}", a, b);
Console.WriteLine(str);
//a:::b
1.bool string.Contains(string value)
判断字符串中是否含有字串value,为true则包含
string str = "AAAAAbbccc";
bool result = str.Contains("Ab");
2.bool StartsWith(string value)
判断字符串是否以子字符串value开始
3.bool EndsWith(string value)
判断字符串是否以子字符串value结束
4.1int IndexOf(string value)
找第一个子字符串value的索引,如果没有这个子字符串则返回-1
string str = "AAAAAbbccc";
int a = str.IndexOf("b");
Console.WriteLine(a);
//5
4.2int IndexOf(string value,int startIndex)
从startIndex开始找第一个子字符串value的索引,找不到就返回-1
string str = "AAAAAbbccc";
int a = str.IndexOf("A",3);
Console.WriteLine(a);
//3
5.int LastIndexOf(string value)
找最后一个子字符串的索引
string str = "AAAAAbbccc";
int a = str.LastIndexOf("A");
//4
6.int string.IndexOfAny(char [] anyOf)
字符数组中的任意字符在此字符串中的第一个匹配项的索引
string str = "qqqwwwee";
char []cha = { 'c', 'w' };
int a = str.IndexOfAny(cha);
Console.WriteLine(a);
//3
7.bool string.IsNullOrEmpty(string value)
如果value的值为null或空,则为true
string str=null;
bool result=string.IsNullOrEmpty(str);
1.bool string.Equals(string value,StringComparison.OrdinalIgnoreCase)
忽略大小写比较是否相等,返回一个bool值,True则相等
string str1 = "sdfsf";
string str2 = "sdfsfsf";
bool result=str1.Equals(str2, StringComparison.OrdinalIgnoreCase);
2.string[] Split(char[] separator, StringSplitOptions options)
将字符串按照指定的char分割符分割为字符串数组( options 取RemoveEmptyEntries的时候移除结果中的空字符串)
string str = "qqq ww ee------rrr-t";
char[] cha = { '-',' ' };
string[] result = str.Split(cha, StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < result.Length; i++)
{
Console.Write(result[i]);
}
//qqqwweerrrt
3.int string.CompareTo(string strB)
若字符串在strB之前,返回-1,在之后返回1,在同一位置,返回0
string str1 = "ab";
string str2 = "bc";
int result = str1.CompareTo(str2);
Console.WriteLine(result);
//-1
String类是一种传统的修改字符串的方式,系统先是把两个字符串写入内存,接着删除原来的String对象,然后创建一个String对象,并读取内存中的数据赋给该对象。这一来二去的,耗了不少时间。
而使用System.Text命名空间下面的StringBuilder类就不是这样了,它提供的Append方法,能够在已有对象的原地进行字符串的修改,简单而且直接。
一般情况下觉察不到这二者效率的差异,但如果你要对某个字符串进行大量的添加操作,那么StringBuilder类所耗费的时间和String类简直不是一个数量级的。
// 普通方法
Stopwatch sp1 = new Stopwatch();
sp1.Start();
string s = "";
for (int i = 0; i < 100000; i++)
{
s += i.ToString();
}
sp1.Stop();
Console.WriteLine("所用时间为{0}",sp1.Elapsed);
Console.ReadKey();
//所用时间为00:00:44.6834545
//用StringBuilder
Stopwatch sp1 = new Stopwatch();
sp1.Start();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 100000; i++)
{
sb.Append(i.ToString());//相当于s+=
}
sp1.Stop();
Console.WriteLine("所用时间为{0}",sp1.Elapsed);
Console.ReadKey();
//所用时间为00:00:00.0244072
1.Append
将文本或对象的字符串表示形式添加到由当前 StringBuilder 对象表示的字符串的结尾处
StringBuilder MyStringBuilder = new StringBuilder("Hello World!");
MyStringBuilder.Append(" What a beautiful day.");
Console.WriteLine(MyStringBuilder);
//Hello World! What a beautiful day.
2.AppendLine
添加之后换行
3.AppendFormat
和Format很像
4.ToString
将StringBulider类型转换成String类型