String类的属性
1:Chars属性
获取当前 String 对象中位于指定位置的 Char 对象。
2:Length属性
获取当前 String 对象中的字符数。
eg:获取字符串中 字母, 数字, 控制字符的个数
namespace StringTest { class Program { static void Main(string[] args) { Console.Write("请输入一个字符串:"); string str1 = Console.ReadLine(); int letter = 0, digit = 0, control = 0, other = 0; for (int i = 0; i < str1.Length; i++) //使用 Length 属性 { if (Char.IsLetter(str1[i])) //使用 Chars属性 letter++; else if (Char.IsDigit(str1[i])) digit++; else if (Char.IsControl(str1[i])) control++; else other++; } Console.WriteLine("字符串长度为:{0} 字符个数:{1} 数字个数:{2} 控制字符个数:{3} 其他字符个数:{4} ", str1.Length, letter, digit, control, other); } } }
结果:
String类的常用方法总结:
1:大小写转换
String.ToLower() -- 返回此字符串转换为小写形式的副本。
String.ToUpper()-- 返回此字符串转换为大写形式的副本。
eg:
string str = "helloTEST"; Console.WriteLine("小写:{0} 大写:{1}",str.ToLower(),str.ToUpper());
2:移除空格
String. Trim()-- 从当前 String 对象移除所有前导空白字符和尾部空白字符。
eg:
string str = " helloTEST"; Console.WriteLine("{0}", str); Console.WriteLine("{0}", str.Trim());
结果:
3: 分割字符串函数
String. Split 方法 ( Char[] ) -- 返回的数组元素中不包含分隔符字符
string str = "aaa,bbb,ccc[ddd"; string[] split = str.Split(',', ',', ',', '['); foreach (string s in split) { Console.WriteLine("{0}", s); }
结果:
String. Split 方法 ( String[] , Int32, StringSplitOptions) //分隔符为字符串 string
//分隔符为字符串 string string s1 = "我是麦迪我是刘德华我是张学友"; string[] strs = s1.Split(new string[] { "我是" }, StringSplitOptions.RemoveEmptyEntries); //这是按照string字符串为分隔符 foreach (string item in strs) { Console.WriteLine(item); }
结果:
4:截图字符串
String.Substring(Int32) --从此实例检索子字符串。 子字符串从指定的字符位置开始。 字符从0开始数
String.Substring(Int32, Int32) --从此实例检索子字符串。 子字符串从指定的字符位置开始且具有指定的长度。
eg:
string str = "http://www.tangpro.com"; string s1 = str.Substring(7); //从第七个字符开始截图 string s2 = str.Substring(7, 3); //从第七个字符开始截取, 共截取3个字符 Console.WriteLine("{0} {1}", s1, s2);
结果:
5:
String.Contains(string value) -- 返回一个值,该值指示指定的 String 对象是否出现在此字符串中。
返回值:如果 value 参数出现在此字符串中,或者 value 为空字符串 (""),则为 true;否则为 false
//查看是否包含某字符串 string str = "http://www.tangpro.com"; bool b =str.Contains("tang"); bool b2 = str.Contains("abc"); Console.WriteLine(b); Console.WriteLine(b2);
结果:
6:替换某字符
Replace(Char, Char) -- 返回一个新字符串,其中此实例中出现的所有指定 Unicode 字符都替换为另一个指定的 Unicode 字符。
Replace(String, String) -- 返回一个新字符串,其中当前实例中出现的所有指定字符串都替换为另一个指定的字符串。
//替换某字符 string str = "http://www.tangpro.com"; string s1 = str.Replace("com", "net"); //字符串 string s2 = str.Replace('m', 'o'); //字符 Console.WriteLine("{0} {1}", s1, s2);
结果:
7:查询一个字符串在某个字符串中的位置
IndexOf(Char) -- 报告指定 Unicode 字符在此字符串中的第一个匹配项的从零开始的索引。
IndexOf(String) -- 报告指定字符串在此实例中的第一个匹配项的从零开始的索引。
////查询一个字符串在某个字符串中的位置 string str = "http://www.tangpro.com"; int n = str.IndexOf("www"); int n1 = str.IndexOf("abc"); Console.WriteLine(n); Console.WriteLine(n1); //若没有该字符串,测返回 -1
结果: