首页 > 代码库 > .Net的String类与StringBuilder类操作
.Net的String类与StringBuilder类操作
关于.NET提供了许多可以直接使用的类代码,常用的包括Convert类、String类和StringBuilder类、DateTimel类和TimeSpan类、Math类等等。
其中Convert类提供的方法都是静态方法,主要用于数据类型的转换:
例如:
字符串数据类型 -----> 整形
string str ="123";
int Getstr = Convert.Int32(str);
但要注意类型转换的取值范围。
当然DateTime类和TimeSpan类是针对时间这一方面的,比较简单;Math类是针对数学函数方法的调用,在这里我就不一一介绍了。
下面小哥带领读者介绍String类和StringBuilder类:
String 类 --------- 提供静态方法与非静态方法
字符串是.NET中的一种重要的数据类型,在项目开发中,离不开字符串的操作,.NET提供了String类实现字符串操作;与Convert类相似,String类中的方法有静态方法与非静态方法。
静态方法
(1)字符串比较 - string.Compare(str1,str2)
注:str1>str2 则 return 1;
str1=str2 则 return 0;
str1<str2 则 return -1;
例子: string str1 = "test";
string str2 = "t";
Console.Writeline(String.Compare(str1,str2));
输出:1
(2)字符串复制 - string.Copy(str)
例子: string str1 = "test";
string str2 = String.Copy(str1);
Console.WriteLine(str2);
输出:test
(3) 字符串判等 - string.Equals(str1,str2)
注:str1=str2 则 return true;
str1<>str2 则 return false;
例子: string str1 ="test";
string str2 = "hello";
Console.WriteLine(String.Equals(str1,str2));
输出:-1
(4) 字符串合并 - string.Join(separator,arr)
注:separator为字符串,arr为字符串数组
例子:string[] a = {"hello","world"};
Console.WriteLine(string.Join(",",a))
输出:hello world
非静态方法
(1)字符串比较 - 对象名.CompareTo(string str)
例子:string str1 = "test";
string str2 = "hello";
Console.WriteLine(str1.CompareTo(str2));
输出:1
(2) 判断是否包含给定的子串 - 对象名.Contains(str)
例子:string str1 = "hello world";
striing str2 = "hello";
Console.WriteLine(str1.Contains(str2));
输出:true
(3) 查找给定子串位置 - 对象名.IndexOf(str)
例子:string str1 = "hello world";
string str2 = "world";
Console.WriteLine(str1.IndexOf(str2));
输出:6
也可以指定在字符串对象中查找子串的起始位置
Console.WriteLine(str1.IndexOf(str2,7));
输出:-1
(4) 查找字符串是否包含给定字符数组中的字符 - 对象名.IndexOfAny(arey)
注:arr为字符数组
例子:string str1 = "hello world";
string[] s = {‘a‘,‘b‘,‘c‘,‘d‘};
Console.WriteLine(str1.IndexOfAny(s));
输出:10
(5) 插入子串 - 对象名.Insert(startindex)
注:startindex为整形值,str为字符串
例子:string str1 = "hello world";
Console.WriteLine(str1.Insert(1,"test"));
输出:htesthllo world
(6) 删除子串 - 对象名.Remove(startindex)/Remove(startindex,count)
注:startindex为整形值
例子:string str1 = "hello world";
Console.WriteLine(str1.Remove(6));
输出:hello
Console.WriteLine(str1.Remove(0,6));
输出:world
(7) 替换子串 - 对象名.Replace(substr1,substr2)/Replace(char1,char2)
注:substr1,substr2为字符串
将字符串中的所有子串substr1 替换 substr2
char1,char2为字符
将字符串中的所有字符char1替换为字符char2
例子:string str1 = "hello world";
Console.WriteLIne(str1.Replace("world","China"));
输出:hello China
string str2 = "Like";
Console.WriteLine(str2.Replace(‘L‘,‘N‘));
输出:Nike
(8)拆分字符串 - 对象名.Split(chararr)
注:chararr为辅助数组
例子: string str1 = "3.14,6 17";
char[] c = {‘.‘,‘,‘,‘ ‘};
string[] arr = str1.Split(c);
foreach(string str in arr)
Console.WriteLine(str);
输出:3
14
6
17
(9)去空格 - 对象名.Trim()/TrimEnd()/TrimStart()
注:Trim()去掉字符串首尾的空格,字符串中间的空格不受影响
TrimEnd()去掉字符串尾部的空格
TrimStart()去掉字符串首部的空格
StringBuilder类 ------- 在原有字符串的内存空间上进行操作,将多个字符串连接在一块,使用StringBulder类可以提升性能
例如:
StringBuilder str1 = new StringBuilder("hello");
str1.Append(" ");
str1.Append("wrold");
str1.Append("!");
Console.WriteLine(str1);
输出:hello world!
以上是本人第一次写博文,挺激动的,如写得不好请敬请原谅;希望这篇文章对初学.NET的同学会有一定的帮助,毕竟是基础的知识,望见呐。
本文出自 “12067158” 博客,请务必保留此出处http://12077158.blog.51cto.com/12067158/1867149
.Net的String类与StringBuilder类操作