C#中string的相关方法
下面的方法一般都有很多重载形式,作为初学者的我先把我用过的记录下来吧。。。以后用到其他的可以一点点添加;
直接上例子吧。先定义两个字符串str1,str2(不要吐槽命名==)
string str1,str2;
获取字符串的长度
int string.Length{get;};
1 str1="012345abc"; 2 Console.WriteLine(str1.Length);
//output:9
转换大小写
1 string string.ToUpper();//转大写 2 string string.ToLower();//转小写
str1 = "123abcABC一二三"; Console.WriteLine(str1.ToUpper()); Console.WriteLine(str1.ToLower()); //output: 123ABCABC一二三 123abcabc一二三
比较字符串
bool string.Equals(string); bool Equals(object,object);
1 str1 = "123ABC"; 2 ste2 = "123abc"; 3 4 Console.WriteLine(str1.Equals(str2));//返回false 5 Console.WriteLine(Equals(str1,str2));//返回false 6 Console.WriteLine(str1.Equals(str2,StringComparison.OrdinalIgnoreCase));//返回true 7 //其中,StringComparison.OrdinalIgnoreCase枚举,忽略大小写比较
分割字符串
1 string[] string.Split(params char[]);
str1 = "123abc"; string[] newSte = str1.Split('a'); foreach( var item in newStr ) { Console.WriteLine(item); } /*输出为: 123 bc */
因为参数类型有params修饰,所以Split()方法内部可以直接传入多个字符而不仅仅是字符数组,比如
str.Split('a','2');
那么他就会根据a和2分割成三段。
判断子串是否存在
bool string.Contains(string);
这个不多说
判断开头结尾,获取字串位置与截取符串
这四个666,结合起来用效果拔群
bool string.StartWith(string);//判断开头是不是输入的参数 bool string.EndWith(string);//判断结尾是不是传入参数 int string.IndexOf(string);//取子串第一次出现的位置 string string.SubString(int length);//截取子串 string string.SubString(int start,int lenhth);
1 string str = "<sc>ascdsc"; 2 if(str.StartsWith("<"))//如果开头是< 3 { 4 if (!str.EndsWith(">"))//如果结尾不是> 5 { 6 int n = str.IndexOf(">"); 7 string ans = str.Substring(n + 1); 8 Console.WriteLine(ans); 9 } 10 } 11 //输出是:ascdsc