全部章节 >>>>
01.字符串的属性
{1}
得到字符串的字符数:Length
例:
string Str = "123456";
Console.WriteLine(Str.length); /输出:6
{2}
不分配存储空间:string.Empty
例:判断一个字符串是不是空
先声明空的字符串
string Str = ""; /分配存储空间
或
string Str = string.Empty; /不分配存储空间
消耗由大到小
1. Str.length == 0;
2. Str == string.Empty;
3. Str == "";
02.字符串的方法
{1}
构造方法
例:
string Str = new string('H',20); /构造由20个字符H组成的字符串
Console.WriteLine(Str); /输出:HHHHHHHHHHHHHHHHHHHH
string Str = new string(new char[]{'H','e','l','l','o'}); /构造由字符数组组成的字符串
Console.WriteLine(Str); /输出:hello
{2}
判断字符串是否相同:Equals()
string Str = "ABC";
区分大小写:
Str.Equals("ABC"); /返回true
不区分大小写:
Str.Equals("abc", StringComparison.OrdinalIgnoreCase); /返回true
{3}
比较字符串值的大小:string.Compare(Str1,Str2)
返回整数:
1 表示大于
0 表示等于
-1 表示小于
Console.WriteLine(string.Compare("B","A")); /输出:整数1(表示B大于A)
字符串的字符一个个比较,只要一个字符不相同,那么就停止比较得出结果
{4}
获取字符串中,内容的索引位置:IndexOf()
从左边开始找:IndexOf()
string Str = "hello";
Console.WriteLine(Str.IndexOf("l")); /输出:整数2
从末尾开始找:LastIndexOf()
string Str = "hello";
Console.WriteLine(Str.LastIndexOf("l")); /输出:整数3
/注意点:lastIndexOf,返回的是从左往右数的下标
{5}
字符串的截取:Substring()
一个参数表示从指定的位置截取字符串到结束:
string Str = "hello";
Str.Substring(3); /输出:返回lo
两个参数表示从参数1开始截取,截取参数2长度的内容:
string Str = "hellojava";
Str.Substring(1,6); /输出:elloja
{6}
分割字符串为字符串数组:Split(‘分割符’)
分割后变成字符串数组,分割符会消失,且左右两边的字符串会分成两份:
string[] Strs = "张飞,刘备,李白,孙尚香,廉颇".Split(',');
for (int i = 0; i < Strs.Length;i++ )
{
Console.WriteLine(Strs[i]);
}
/输出:
张飞
刘备
李白
孙尚香
廉颇
{7}
拼接字符串数组为字符串:string.Join(“拼接符”,数组名)
数组的数据之间,用拼接符进行拼接:
string[] Strs = {"张飞","刘备","李白","孙尚香","廉颇"};
string Str = Join("-",Strs);
Console.WriteLine(Str); /输出:张飞-刘备-李白-孙尚香-廉颇
{8}
字符串转换大小写
小写:字符串.ToLower()
大写:字符串.ToUpper()
string Str = "Hello C#";
Console.WriteLine(Str.ToLower()); /输出:hello c#
Console.WriteLine(Str.ToUpper()); /输出:HELLO C#
{9}
去掉字符串的空格:Trim()
去掉前后空格:字符串.Trim()
去掉前面的空格:字符串.TrimStart();
去掉后面的空格:字符串.TrimEnd();
{10}
判断是否以指定子字符串开始:StartsWith()
string Str = "hello";
Str.StartsWith("he"); /返回true
判断是否以指定子字符串结束:EndsWith()
string Str = "hello";
Str.EndsWith("o"); /返回true
{11}
判断是否包含指定的子字符串:Contains()
string Str = "hello";
Str.Contains("ell"); /返回true
{12}
将指定的子字符串替换成你想要的字符串:Replace()
string Str ="hello!";
Str.Replace("!","?"); /返回hello?
{13}
判断字符串是否为空:string.IsNullOrEmpty()
string Str ="hello";
string.IsNullOrEmpty(Str); /返回true
{14}
槽占位拼接字符串:string.Format()
string Str;
基本用法:
Str = string.Format("{0}+{0}={1}","10","20");
Console.WriteLine(Str);
/输出:10+10=20
占位长度:{槽位 , n}、占n的长度,n为正数右对齐,负数左对齐:
Str = string.Format("{0,10}","HHHH");
Console.WriteLine(Str);
/输出: HHHH;
货币格式:{槽位 : Cn}、输出货币格式,保留n的小数位数
Str = string.Format("{0,C3}",88);
Console.WriteLine(Str);
/输出:¥88.000
保留小数位数:{槽位 : Fn}、保留n的小数位数
Str = string.Format("{0,F3}",88);
Console.WriteLine(Str);
/输出:88.000
数字三位分级法:{槽位 : N}、整数部分从右到左每三个数加一个逗号,并保留两位小数
Str = string.Format("{0,N}",88000);
Console.WriteLine(Str);
/输出:88,000.00
百分比计数法:{槽位 : Pn}、以百分比计数,保留n的小数位数
Str = string.Format("{0,P3}",88);
Console.WriteLine(Str);
/输出:8,800.000%
十六进制格式:{槽位 : X}、输出十六进制格式
Str = string.Format("{0,X}",11);
Console.WriteLine(Str);
/输出:B
{15}
字符串的连接:string.Concat(Str1,Str2)
string Str = string.Concat("hello","C#");
Console.WriteLine(Str); /输出:helloC#