C# 字符串处理
1、比较字符串
String 类提供了一系列的方法用于字符串的比较,如CompareTo 和 Equals方法等。
① CompareTo :
如果参数的值与此实例相等,则返回0;如果此实例大于参数的值,则返回1;否则返回-1。
string str1 = "abc";
int m1 = str1.CompareTo("abc"); // m1 = 0
int m2 = str1.CompareTo("ab"); //m2 = 1
int m3 = str1.CompareTo("abcd"); // m3 = -1
②Equals
如果参数的值与此实例相同,则为true;否则为false。
string str1 = "abC",str2 = "abc",str3 = "abC";
bool b1 = str1.Equals(str2); //false
bool b2 = str1.Equals(str3);//true
注意:Equals 方法区分大小写。
2、定位字符及子串
定位字符串中某个字符或子串第一次出现的位置使用IndexOf方法。
如果找到该字符,则为参数值得的索引位置,从0开始;如果未找到该字符,则为-1;如果参数为Empty,则返回值为0。
string str1 = "abcd";
int m1 = str1.IndexOf("b"); // 1
int m2 = str1.IndexOf("cd");// 2
int m3 = str1.IndexOf(""); // 0
int m4 = str1.IndexOf("w");// -1
3、格式化字符串
//格式化为Currency类型
string str1 = String.Format("(C) Currency:{0:C}\n",-123.45678f); //(C) Currency:¥-123.46
//格式化为ShortDate类型
string str2 = String.Format("(d) Short date:{0:d]\n",DateTime.Now); //(d) Short date:2009/11/6
4、截取字符串
string str = "Hello World!";
string str1 = str.Substring(0,5);// Hello
第一个参数表示子串的起始位置,第二个参数表示子字符串的长度。
5、分裂字符串
Split 方法可以把一个字符串按照某个分隔符分裂成一系列小的字符串
string str = "Hello.World!";
string[] spilt = str. Split('.' , '!');
foreach (string s in spilt)
{
if(s.Trim() != "")
Console.WriteLine(s);
}
6、插入和填充字符串
①插入字符串
string str = "This is a girl";
str = str.Insert(10,"beautiful ");// This is a beautiful girl
第一个参数指定所要插入的位置,索引从0 开始;第二个参数指定要插入的字符串。
②填充字符串
string str = "Hello World!";
string str1 = str.PadLeft(15,'@'); //@@@Hello World!
string str2 = str.PadRight(15,'@'); //Hello World!@@@
第一个参数指定了填充后字符串长度;第二个参数指定所要填充的字符。第二个参数可以省略,如果省略,则填充空格符号。
7、删除和剪切字符串
①删除字符串
string str = "This is a beautiful girl.";
str = str.Remove(10,10); // This is a girl.
第一个参数指定开始删除的位置,索引从0开始;第二个参数指定要删除的字符数量。
②剪切字符串
string str = "*_*Hello World! *_*";
string str1 = str.TrimStart(new char[] {'*','_'});//Hello World! *_*
string str2 = str.TrimEnd(new char[] {'*','_'});//*_*Hello World!
8、复制字符串
String str="It is a dog";
String newstr=String.Copy(str);
9、替换字符串
String str="It is a dog";
str=str.Replace("dog","pig");
10、判断字符串是否为空
string str = "aa";
bool b = String.IsNullOrEmpty(str);
11、判断字符串是否包含中文
string str = "aaaaa";
bool b = Regex.IsMatch(str, @"[\u4e00-\u9fa5]");
12、判断字符串是否包含另一字符串
string str1 = "你好!XXXX";
string str2 = "你好";
bool b = str1. Contains(str2);
13、List 转换成字符串
List<string> ls = new List<string>();
string str = string.Join("," ,ls.ToArray());
14、string 去重
string str1 = "1,2,3,4,5,4,5";
string str2 = string.Join(",",str1.Distinct().ToArray());// 1,2,3,4,5