黑龙江中国广播集团大的字符串方法,字符串的两种常用方法

一.Replace(替换字符):
public string Replace(char oldChar,char newChar);在目的中追寻oldChar,借使寻找到,就用newChar将oldChar替换掉。
如:
            string st = “abcdef”;
            string newstring = st.Replace(‘a’, ‘x’);
            Console.WriteLine(newstring);   //即:xbcdef

1.一 字符串大小写
 方法原型
  string <strName>.ToUpper(); 
//重回字符串转换的大写情势
  string <strName>.ToLower(); 
//重临字符串转变的小写格局
 比方:用户在输入用户名的时候,可能会大小写输入混乱,然则我们能够转变(全体转变为题写只怕全体转载为题写)一下,
 使用户也能够登五分三功
    
Console.Write(“请您输入用户名:”);
        //全体转变为题写
        string username =
Console.ReadLine();
        string usernameupper =
username.ToUpper();
        //全体转移为题写
        string usernamelower =
username.ToLower();
       
Console.WriteLine(“大写是:{0},小写是:{1}”, usernameupper,
usernamelower); 

一、字符串的概念

明天在英特网搜了一些质感。

public string Replace(string oldString,string newString);在目的中找找oldString,借使找出到,就用newString将oldString替换掉。
如:
            string st = “abcdef”;
            string newstring = st.Replace(“abc”, “xyz”);
            Console.WriteLine(newstring);   //即:xyzdef

一.二移除首尾钦命字符
 Trim
移除1组钦赐字符的首尾相配项
  方法原型
   (壹)string <strName>.Trim();     
//移除首尾的空格
    string str = ” 韩迎龙 “;
    string firstendnullstr =
str.Trim();
    Console.WriteLine(firstendnullstr.Length);  
输出音讯:三
   (2)string <strName>.Trim(new
char[]{‘<char>’});  
//移除首尾钦点的字符(必须是全进程的字符)
    string str = “韩迎龙韩”;
    string firstendnullstr = str.Trim(new
char[] { ‘韩’ });
    Console.WriteLine(firstendnullstr);  
输出消息:迎龙
 TrimStart
移除壹组钦命字符的始发相配项
  方法原型
   (壹)string <strName>.TrimStart();
//移除初叶的空格
    string str = ” 韩迎龙 “;
    string firstendnullstr =
str.TrimStart();
    Console.WriteLine(firstendnullstr.Length); 
输出消息:四
   (2)string
<strName>.TrimStart(new char[]{‘<char>’});
//移除初始钦点的字符
    string str = “韩迎龙韩”;
    string firstendnullstr =
str.TrimStart(new char[] { ‘韩’ });
    Console.WriteLine(firstendnullstr);    
输出新闻:迎龙韩
 TrimEnd
移除一组钦赐字符的最终内定项
  方法原型
   (1)string <strName>.TrimEnd();  
//移除结尾的空格
    string str = ” 韩迎龙 “;
    string firstendnullstr =
str.TrimEnd();
    Console.WriteLine(firstendnullstr.Length); 
输出消息:四
   (2)string <strName>.TrimEnd(new
char[]{‘<char>’});
    string str = “韩迎龙韩”;
    string firstendnullstr =
str.TrimEnd(new char[] { ‘韩’ });
    Console.WriteLine(firstendnullstr);    
输出音讯:韩迎龙

语法:

C# string类应用

2.Remove(删除字符):
public string Remove(int startIndex);从startIndex地方上马,删除此岗位后具备的字符(包涵近日地点所内定的字符)。
如:  
     string st = “abcdef”;
            string newstring = st.Remove(4);
            Console.WriteLine(newstring);  //即:abcd

1.三 字符串的可比
 Compare()方法
  方法原型
   (壹) int Compare(String,String);  
//相比八个字符串对象
    int
strCompare=string.Compare(“sFsFsF”,”Sfsfsf”); //输出新闻:0
   (贰) int
Compare(string,String,Boolean) 
//相比七个字符串对象,是不是忽略大小写
    int  int dou =
string.Compare(“sdsSD”, “sdsSd”, true);   //输出消息:0
   (三) int
Compare(String,String,StringComparison)
//参数内定相比较是应用当前区域性依旧牢固区域性,
    是思考依然概况大小写,是采纳字排序规则依然序号排序规则。
    int dou = string.Compare(“dsdssdD”,
“dsdssdd”, StringComparison.OrdinalIgnoreCase); //输出新闻0
  依据字典排序实行相比较
   假如strA>StrB,则赶回的值大于0
   若是strA=strB,则赶回的值等于0
   尽管strA<strB,则赶回的值小于0
 CompareOrdinal()方法,通过总结每一个字符串中相应Char对象的数值来相比较
  方法原型
   (1)int CompareOrdinal(String,String) 
//通过测算各个字符串中相应的Char对象的数值来相比较多个字符串
    int dou = string.CompareOrdinal(“a”,
“c”);  //输出结果是:-二
  也是比照字典排序
   尽管strA>StrB,则赶回的值大于0
   假如strA=strB,则赶回的值等于0
   假诺strA<strB,则赶回的值小于0
 CompareTo()方法,将此实例与钦定对象也许String实行相比,并且再次回到贰者相对值的提醒
  方法原型
   (一) int CompareTo(Object); 
//将此实例与object实行比较
    MyClass my = new MyClass();
    string s = “sometext”;
    try
    {
     int i = s.CompareTo(my);
    }
    catch (Exception ex)
    {
     Console.WriteLine(ex.Message);
    }
    public class MyClass { }    
    //输出结果是:对象的类型必须是string类型
   (二) int CompareTo(string); 
//将此实例与string实行比较
    string str = “a”;
    int s = str.CompareTo(“c”); 
//输出结果是-壹
  也是服从字典排序
   即便strA>StrB,则赶回的值大于0
   假诺strA=strB,则赶回的值等于0
   假使strA<strB,则赶回的值小于0
 Equals()方法,鲜明五个String对象是或不是富有一样的值
  方法原则
   (一)bool Equals(Object);
明确此String实例是或不是与钦命的目的具备同等的值
    StringBuilder sb = new
StringBuilder(“abcd”);
    String str1 = “abcd”;
    Console.WriteLine(str1.Equals(sb));
    输出结果:False
   (二)bool Equals(String);
明确此实例是还是不是与另一个点名的String对象具备同样的值
    string str1 = “abcd”;
    Console.WriteLine(str1.Equals(“abcd”));
    //输出结果是True
   (叁)bool Equals(String,String) 
鲜明四个钦点的String对象是还是不是具备一样的值
    Console.Write(string.Equals(“1234”,
“1234”));
    //输出结果是True
   (4)bool
Equals(String,StringComparison)  鲜明此字符串是不是与钦赐的 String
对象具有同样的值。
   参数内定区域性、大小写以及相比较所用的排序规则。
    string str=”HanYingLong”;
    Console.WriteLine(str.Equals(“hanyinglong”,
StringComparison.OrdinalIgnoreCase));
    //输出结果是True
   (五)bool
Equals(String,String,StringComparison) 分明三个钦定的 String
对象是否持有同一值。
   参数钦命区域性、大小写以及比较所用的排序规则。
    //Console.WriteLine(string.Equals(“AdssdS”,
“adssds”, StringComparison.OrdinalIgnoreCase));
    输出结果True
  再次来到值是bool类型,所以大家能够看清出来假如结果格外的话就回到True,不然再次来到False
  注释:即使唯有比较七个字符串是还是不是等于,还是选拔”==”相比轻便
   Console.WriteLine(“请输入多个字符串”);
   string str1 =
Console.ReadLine();
   Console.WriteLine(“请输入第3个字符串”);
   string str2 =
Console.ReadLine();
   // 不思量大小写的相比
   bool isEqual = str1.ToLower() ==
str2.ToLower();
壹.四字符串的统1和细分
 合并Join方法:在钦定 String
数组的每一个元素之间串联钦赐的相间符
String,从而发出单个串联的字符串。
  方法原型
   详细介绍:将数组strArr中的内容拼接成多少个字符串,并在对应数组的每两项间加多分隔符str
      string.Join(str,strArr);
   (1) string
string.Join(String,String[]);
    Console.WriteLine(string.Join(“迎”,
new string[] { “韩”, “龙”,”我” }));
    Console.WriteLine(string.Join(“迎”,
new char[] { ‘韩’, ‘龙’, ‘我’ }));
    //输出结果是:韩迎龙迎作者
   (2) string
string.Join(String,String[],Int32,Int32)
    String[] val = { “apple”, “orange”,
“grape”, “pear” };
    String sep = “,”;
    String result = String.Join(sep, val,
1, 2);
    Console.WriteLine(result);
   //输出结果是orange,grape
 分割Split方法:再次回到的字符串数组包括此实例中的子字符串
  方法原型
   (1)string[] Split(Char[])
//再次来到的字符串数组包罗此实例中的子字符串
    string str = “I Have a
Dream”;
    string[] divisionstr =
str.Split(new char[] { ‘ ‘ });
黑龙江中国广播集团大的字符串方法,字符串的两种常用方法。    foreach (string s in
divisionstr)
    {
     Console.Write(s);
    }
    //输出结果是:IHaveDream,去掉了空格
   (2)string[] Split(Char[],Int3贰) 
//重返的字符包罗此实例中的子字符串,参数钦点再次来到的子字符串的最大数目
    string str = “I Have a
Dream”;
    string[] divisionstr =
str.Split(new char[] { ‘ ‘ }, 2);
    foreach (string s in
divisionstr)
    {
     Console.Write(s);
    }
    //输出结果:IHave a Dream  ,int
count将字符串截为几段的意趣
   (3)string[]
Split(Char[],StringSplitOptions) 
//重回的字符串蕴含此实例中的子字符串,参数钦命是还是不是
   再次来到空数组成分
    string str = ” 梅西| 卡 卡|小龙
“;
    string[] divisionstr =
str.Split(new char[] { ‘|’,’ ‘ },
StringSplitOptions.RemoveEmptyEntries);
    foreach (string s in
divisionstr)
    {
     Console.Write(s);
    }
    //输出结果是:Messi卡卡小龙
   (4)string[]
Split(String[],StringSplitOptions)
//再次回到的字符串包涵此实例中的子字符串,参数钦命是还是不是
   重返空数组成分
    string str =
“梅西|卡卡|小龙”;
    string[] divisionstr =
str.Split(new string[] { “|” },
StringSplitOptions.RemoveEmptyEntries);
    foreach (string s in
divisionstr)
    {
     Console.Write(s);
    }
    //输出结果是:Messi卡卡小龙
   (5)string[]
Split(Char[],Int32,StringSplitOptions)
//再次回到的字符串数组包罗此字符串中的子字符串,参数
   钦命要回到子字符串的最大数量,以及是还是不是要重回空数组成分。
    string str =
“梅西|卡卡|小龙”;
    string[] divisionstr =
str.Split(new char[] { ‘|’ }, 2,
StringSplitOptions.RemoveEmptyEntries);
    foreach (string s in
divisionstr)
    {
     Console.Write(s);
    }
    //输出结果是:Messi卡卡|小龙
   (6)string[]
Split(String[],Int3二,StringSplitOptions)
//再次回到的字符串数组包括此字符串中的子字符串,参数
   钦点要回到子字符串的最大额,以及是还是不是要重临空数组成分。
    string str =
“梅西|卡卡|小龙”;
    string[] divisionstr =
str.Split(new string[] { “|” }, 2,
StringSplitOptions.RemoveEmptyEntries);
    foreach (string s in
divisionstr)
    {
     Console.Write(s);
    }
    //输出结果是:Messi卡卡|小龙
一.5 字符串的寻找
 Contains方法:再次回到叁个值,该值提醒内定的String对象是还是不是出现在此字符串
  方法原型
   bool <strName>.Contains(String
value);
//表示字符串<strName>中是否含有value,就算含有,重回True,不然再次来到False
    Console.Write(“请输入2个字符串:”);
    string str =
Console.ReadLine();
    if (str.Contains(“abc”))
    {
     Console.WriteLine(“字符串{0}包含{1}”, str,
“abc”);
    }
    else
    {
     Console.WriteLine(“字符串{0}不包含{1}”,
str, “abc”);
    }
 IndexOf方法:String或一个或几个字符在此字符串中的第三个相配项
  方法原型
   (一)int
<strName>.IndexOf(String) 
内定字符在此字符串中的第拾三个相配项的目录
    string str =
“让世界变得更加美好”;
    int res = str.IndexOf(“好”);
    Console.WriteLine(res);
    //输出结果是:七
   (贰)int
<strName>.IndexOf(String,Int3二)
内定字符串中的第叁个相称项的目录,该搜索从钦点字符地方上马
    string str =
“让世界变得越来越美好”;
    int res = str.IndexOf(“世界变得”,
0);
    Console.WriteLine(res);
    //输出结果是:1
 LastIndexOf方法:String或三个活八个字符在此字符串中的最终三个三个同盟项
  方法原型
   (一)int
<strName>.LastIndexOf(String)
钦点字符在字符串中的最终3个匹配项的目录
    string str =
“让世界好得更加美好”;
    int res =
str.LastIndexOf(“好”);
    Console.WriteLine(res);
    //输出结果:柒
   (2)int
<strName>.LastIndexOf(String,Int32)
内定字符串中的第叁个相配项的目录,该寻觅从钦命字符地点上马
    string str =
“让世界好得更加好美好”;
    int res = str.LastIndexOf(“得”,
4);
    Console.WriteLine(res);
    //输出结果是:四
 IndexOpAny方法
钦定字符数组中的放四字符在此实例中首先个相配项的目录
  方法原型
   (1)int
<strName>.IndexOpAny(Char[])
钦命字符数组中的自便字符在此实例中首先个相称项的目录。
    string str =
“地球非常美丽好,大家很喜欢”;
    int res = str.IndexOfAny(new char[]
{ ‘s’, ‘我’ });
    Console.WriteLine(res);
    //输出结果:0
   (2)int
<strName>.IndexOpAny(Char[],Int3贰)
钦定字符数组中的自便字符在此实例中首先个相称项的目录。
   寻觅从内定字符地点上马
    string str =
“地球很美丽好,大家很喜爱”;
    int res = str.IndexOfAny(new char[]
{ ‘球’, ‘我’, ‘喜’ }, 0);
    Console.WriteLine(res);
    //输出结果:一
   (3)int
<strName>.IndexOpAny(Char[],Int3贰,Int3二)钦定字符数组中的自便字符在此实例中首先个相配项的目录。
   搜索从钦赐字符地点上马,并检讨钦命数量的字符地方。
    string str =
“地球非常漂亮好,大家很喜欢”;
    int res = str.IndexOfAny(new char[]
{ ‘球’, ‘我’, ‘喜’ }, 2, 5);
    Console.WriteLine(res);
    //输出结果:陆
 LastIndexOpAny方法和LastIndexOf方法的应用基本同样
1.6 求子字符串
 方法原型
  (一)string
<strName>.SubString(Int3二) 
检索字符串,子字符串从钦命的字符开头
   string str = “笔者爱中华”;
            string res =
str.Substring(2);
           
Console.WriteLine(res);
   输出结果:中中原人民共和国
  (2)string
<strName>.SubString(Int3二,Int3贰)
检索字符串,子字符串从钦赐的字符早先,并且具备钦赐的尺寸
   string str =
“作者爱中华,中华名族万岁”;
            string res = str.Substring(2,
5);
           
Console.WriteLine(res);
   输出结果:中华夏族民共和国,中华
 总结:string
<strName>.SubString(int startIndex,int length);
 从字符串strName的startIndex地点上马提取长度为length的字符串,假若轻巧第三个参数则象征一向到终极
一.7字符串的插入移除和替换
  字符串的插入
   方法原型
    string <strName>.Insert(Intzv32startIndex,string value)在此实例中的钦点索引地点插入三个点名的 String
实例。
     string str = “我中国”;
     string res = str.Insert(1,
“爱”);
     Console.WriteLine(res);
     输出结果:小编爱中华
   总括:在字符串<strName>的startIndex地方上插入value,原来的字符依次后移,产生二个新的字符串
  字符串的移除
   方法原型
    (1)string
<strName>.Remove(Int32 startIndex)
删除此字符串中从钦定地方到结尾地方的富有字符
     string str =
“笔者爱中华东瀛大和民族”;
     string res = str.Remove(4);
     Console.WriteLine(res);
     输出结果:小编爱中华
    (二)string
<strName>.Remove(Int3二 StartIndex,Int32 Length) 
从钦命地方上马删除钦命数量的字符
     string str =
“作者爱中华东瀛&大和民族”;
     string res = str.Remove(4,
2);
     Console.WriteLine(res);
     
     输出结果:小编爱中华&大和民族
   总括:从字符串<strName>中移除StartIndex开端,长度为Length的字符串,剩下的字符依照原来的顺序重新排成
    3个新的字符串,假使轻易第三个参数,将移除StartIndex前面包车型客车具有的字符串
  字符串的更迭
   方法原型
    (1)string
<strName>.Replace(char oldchar,char newchar) 
将字符串<strName>中的oldchar替换为newchar
     string str =
“小编爱中华&美国”;
     string res = str.Replace(‘&’,
‘和’);
     Console.WriteLine(res);
     输出结果:笔者爱中华和United States
    (二)string
<strName>.Replace(string oldvalue,string new value)
将字符串<strName>中的oldvalue替换为newvalue
     string str =
“小编爱中华&美国”;
     string res = str.Replace(“美国”,
“天朝”);
     Console.WriteLine(res);
     输出结果是:作者爱中华&天朝  
一.8判断开首和终止
 StartsWith开始
  方法原型
   bool <strName>.StartsWith(String
value) 明显此实例的初步是或不是与钦点的字符串相配
    string str = “笔者爱中华”;
    bool istrue =
str.StartsWith(“我哎”);
    Console.WriteLine(istrue);
    输出结果是:False
 EndsWidth结束
  方法原型
   bool <strName>.EndsWith(string
value) 鲜明此实例的终极是不是与钦命的字符串相配
    string str = “作者爱中华”;
    bool istrue =
str.EndsWith(“中国”);
    Console.WriteLine(istrue);
    输出结果:False
1.九 字符串的赋值
 Copy方法
  方法原型
   string String.Copy(string str); 
创制八个与钦定String具备同样值的String的新实例
    string str = “韩迎龙”;
    string res =
string.Copy(str);
    Console.WriteLine(res);
    输出结果是:韩迎龙
 CopyTo方法
  方法原型
   string <strName>.CopyTo(int
sourceIndex,char[] destination,int destinationIndex,int
count)
   //将钦赐数量的字符从此实例中的钦定地点复制到字符数组中的钦命地点
   string dest = “Hello world”;
            string source = “Goodbye
China”;
            char[] destArray =
dest.ToCharArray();//将dest产生字符数组
            source.CopyTo(8, destArray,
陆,
伍);//从source的第拾三个字符起复制6个字符并从destArray的第四个职责上马放
            dest = new
string(destArray);//这时dest为”Hello China”
           
Console.WriteLine(dest);
   输出结果是:Hello China

string ;

判定是还是不是包括子串

public string Remove(int startIndex,int count);从startIndex地点上马,删除count个字符。
如:  
     string st = “abcdef”;
            string newstring = st.Remove(4,1);
            Console.WriteLine(newstring);  //即:abcdf

小结:字符串具备不可变性,对字符串的修改,实际上都是重新得到3个字符串,重新赋值

= ;

想要判定七个字符串中是还是不是包蕴有个别子串,能够用Contains方法来促成:

3.Substring(字符串提取):
public string Substring(int startIndex);从startIndex地方上马,提取此任务后有着的字符(包涵目前地点所钦命的字符)。
如:  
     string st = “abcdef”;
            string newstring = st.Substring(2);
            Console.WriteLine(newstring);  //即:cdef

? public bool Contains (string value)

public string Substring(int startIndex,int count);从startIndex地方上马,提取count个字符。
如:  
     string st = “abcdef”;
            string newstring = st.Substring(2,2);
            Console.WriteLine(newstring);  //即:cd

string = ;

参数value为待判断的子串。借使含有,重回true;不然再次来到false。上面的代码判断“Hello”中是不是蕴涵多少个子串。

4.Trim(清空空格):
public string Trim ():将字符串对象涵盖的字符串两边的空格去掉后归来。
public string Trim ( params char[] trimChars ):从此实例的初始和末段移除数组中钦赐的一组字符的具有相配项。
如:
     string st =”abcdef”;
     string newstring = st.Trim(new char[] {‘a’});//寻觅st字符串中初露与终极是或不是有与’a’相称,如有,将其移除。
     Console.WriteLine(newstring); //即:bcdef
注:如若字符串为”aaaabcdef”,再次回到依然为bcdef。当移除第一个a时,初始照旧为a,继续移除,直到未有。
public string TrimEnd ( params char[] trimChars ):对此实例末尾与钦点字符进行相称,true则移除
public string TrimStart ( params char[] trimChars ):对此实例早先与钦赐字符进行相配,true则移除

五.ToLower(转变大小写)

public string ToLower():将字符串对象涵盖的字符串中的大写全部改变为小写。

字符串是引用类型,在概念

  1. bool b1 = strA.Contains(“ll”); //true

  2. bool b1 = strA.Contains(“MM”); //false

陆.IndexOf(获取钦赐的字符串的始发索引)
public int IndexOf (sring 田野同志):在此实例中追寻田野,假如找出到,重临起始索引,反之,重回-1。
如:
       string st = “abcdef”;
            int num=st.IndexOf(“bcd”);
            Console.WriteLine(num);  //即:1

string ;

四.一.四 定位字符和子串

七.Equals(是否等于)
public bool Equals (string value):相比较调用方法的字符串对象涵盖字符串和参数给出的目的是否同样,就好像样,就重临true,反之,再次回到false。
如:        string a = “abcdef”;
            bool b = a.Equals(“bcdef”);
            Console.WriteLine(b);//即:false

的时候在栈空间中,定义了三个的空中,该空间存放2个地点

平昔子串是指在一个字符串中追寻个中饱含的子串恐怕有些字符。在String类中,常用的定位子串和字符的法子包含IndexOf/LastIndexOf及IndexOfAny/LastIndexOfAny,下边进行详细介绍。

public bool Equals ( string value, StringComparison comparisonType ):相比调用方法的字符串对象涵盖字符串和参数给出的靶子是还是不是在不区分轻重缓急写的情状下同样,如一样,就回来true,反之,再次来到false,第二个参数将点名区域性、大小写以及相比所用的排序规则.
如:
       string a = “ABCDEF”;
            bool b = a.Equals(“abcdef”,StringComparison.CurrentCultureIgnoreCase);
            Console.WriteLine(b);//即:true

当写到

一.IndexOf/LastIndexOf
IndexOf艺术用于找出在三个字符串中,有些特定的字符只怕子串第三回出现的岗位,该格局分别轻重缓急写,并从字符串的首字符初始以0计数。借使字符串中不带有这几个字符或子串,则赶回-一。常用的重载方式如下所示。

8.Split(拆分)
public string[] Split ( params char[] separator ):依照separator 内定的从未有过字符分隔此实例中子字符串成为Unicode字符数组, separator能够是不含有分隔符的空数组或空引用。
public string[] Split ( char[] separator, int count ):参数count 钦点要再次来到的子字符串的最大数目。 
如:
            string st = “语文|数学|英语|物理”;
            string[] split = st.Split(new char[]{‘|’},2);
            for (int i = 0; i < split.Length; i++)
            {
                Console.WriteLine(split[i]);
            }
注:count不填则全体拆分

= “The C# Programming Language”;

(一)定位字符: int IndexOf(char value)

public enum StringSplitOptions 
分子名称            表达
None                重返值包括富含空字符串的数组成分
RemoveEmptyEntries  再次来到值不包蕴富含空字符串的数组成分

的时候,会在堆内部存储器分配3个上空,存放字符串”The C# Programming
Language”,并将首地点赋值给

        int IndexOf(char value, int startIndex)

如:
            string st = “语文|数学||英语|物理”;
            string[] split = st.Split(new char[]{‘|’},StringSplitOptions.RemoveEmptyEntries);
            for (int i = 0; i < split.Length; i++)
            {
                Console.WriteLine(split[i]);
            }
将StringSplitOptions枚举和Split()方法联系起来:
1.  public string[] Split ( char[] separator, StringSplitOptions options ):options钦定StringSplitOptions枚举的RemoveEmptyEntries以简要再次来到的数组中的空数组元素,或钦赐StringSplitOptions枚举的None以带有重回的数组中的空数组元
2.  public string[] Split ( char[] separator, int count, StringSplitOptions options ) 
3.  public string[] Split ( string[] separator, StringSplitOptions options ) 
4.  public string[] Split ( string[] separator, int count, StringSplitOptions options )

由此指向定义的字符串

        int IndexOf(char value, int startIndex, int count)

九.Contains(剖断是还是不是留存)
public bool Contains(string text):假若字符串中冒出text,则赶回true,反之false,如若text为(“”)也回到true。
如:
 string st=”语文数学克罗地亚语”;
 bool b=st.Contains(“语文”);
 Console.WriteLine(b);//true

二、字符串的评释

(二)定位子串: int IndexOf(string value)

十.EndsWith,StartsWith(决断字符串的开始或收尾)
public bool EndsWith ( string value ):判定目标涵盖字符串是否以value钦命的字符串截止,是则为 true;不然为 false。 
public bool EndsWith ( string value, StringComparison comparisonType ):第三个参数设置相比较时区域、大小写和排序规则。
public bool StartsWith ( string value ):推断目的涵盖字符串是还是不是以value钦定的字符串开端,是则为 true;不然为 false。 
public bool StartsWith ( string value, StringComparison comparisonType ) :第二个参数设置相比较时区域、大小写和排序规则。
如:
 string st=”语文数学匈牙利(Hungary)语abc”;
 bool b=st.EndsWith(“爱沙尼亚语ABC”,StringComparison.CurrentCultureIgnoreCase);//第二个参数忽略大小比较。
 Console.WriteLine(b);//true

字符串string对应MSIL(CTS)中的String,实际上是五个类

        int IndexOf(string value, int startIndex)

11.Insert(字符串插入)
public string Insert ( int startIndex, string value ):在钦赐的字符串下标为startIndex前插入字符串value。重回插入后的值。
如:
 string st=”语文数学乌克兰(Ukraine)语abc”;
 string newst=st.Insert(陆,”物理”);//注:在钦命索引“前”插入。
 Console.WriteLine(newst);//即:语文数学西班牙语物理abc

那便是说以前精通到,类供给使用new
<构造方法>()来拓展实例化,一样字符串也行(那里只介绍一种)

        int IndexOf(string value, int startIndex, int count)

string = new string(new char[] {…});

在上述重载情势中,其参数含义如下:

注:那里String与string得到的效率一样

value:待定位的字符恐怕子串。

此地有个利用

startIndex:在总串中初叶搜索的莫过于地点。

字符串是不可变的,在内部存款和储蓄器中字符串壹旦生成,将不会转移

count:在总串中从初步地方上马寻觅的字符数。

哪怕在此以前运用的str一 + str二也只是生成了另三个字符串

上边包车型客车代码在“Hello”中检索字符‘l’第3遍出现的职位。

那么要修改字符串,怎么管理吧?

代码四-七 使用IndexOf搜索字符第三遍出现岗位:Default.aspx.cs

那边有个主意

  1. String s=”Hello”;

  2. int I = s.IndexOf(‘l’)); //2

.ToCharArray();

同IndexOf类似,LastIndexOf用于寻觅在四个字符串中,有些特定的字符只怕子串最终一回出现的职位,其艺术定义和再次来到值都与IndexOf一样,不再赘言。

该方法会将字符串,产生3个char类型的数组,由此必要用1个char类型的数组接收

 

例:修改一个字符串里面包车型大巴剧情

二.IndexOfAny/LastIndexOfAny
IndexOfAny措施效果同IndexOf类似,差别在于,它能够寻觅在二个字符串中,出现在多个字符数组中的大四字符第三次出现的岗位。同样,该情势分别轻重缓急写,并从字符串的首字符开首以0计数。假若字符串中不包涵那个字符或子串,则赶回-一。常用的IndexOfAny重载情势有三种:

char[] ch = .ToCharArray();

(1)int IndexOfAny(char[]anyOf);

// 管理字符数组,完毕修改目标

(2)int IndexOfAny(char[]anyOf, int startIndex);

= new string(ch);

(3)int IndexOfAny(char[]anyOf, int startIndex, int count)。

3、字符串能够用索引访问

在上述重载情势中,其参数含义如下:

字符串,原本正是排在一同的字符,C#提供了用“下标”(索引)来访问字符串中的字符

(1)anyOf:待定位的字符数组,方法将回来那一个数组中放肆二个字符第二遍出现的岗位。

例如:

(2)startIndex:在原字符串中开头找出的实际上位置。

string str = “jiangkun”;

(三)count:在原字符串中从伊始地方上马寻觅的字符数。

这里内部存款和储蓄器上校“j”分配编号0,“i”分配编号壹,然后逐1增添…

下例在“Hello”中寻找字符‘l’第3次和结尾三遍面世的任务。

之所以,若是要求访问k,数1数,编号是5,所以能够那样来

代码四-八 使用IndexOfAny寻觅子串第1回和终极二遍出现岗位:Default.aspx.cs

char temp = str[5];

  1. String s = “Hello”;

  2. char[] anyOf={‘H’,’e’,’l’};

  3. int i1 = s.IndexOfAny(anyOf)); //0

  4. int i2 = s.LastIndexOfAny(anyOf)); //3

那就是说得到的便是字符“k”

同IndexOfAny类似,LastIndexOfAny用于寻找在2个字符串中,出现在三个字符数组中私行字符最终一回面世的地方。

字符串也有3个Length属性,能够获得字符串的长度

 

四、常见的字符串方法

四.1.伍 格式化字符串

4.一 字符串大小写(字符)

Format方法用于创建格式化的字符串及连接多少个字符串对象。假使读者领会C语言中的sprintf()方法,能够驾驭双方有类似之处。Format方法也有多少个重载格局,最常用的为:

string .ToUpper();

? static string Format(string format, params object[] args);

string .ToLower();

其间,参数format用于内定重返字符串的格式,而args为一文山会海变量参数。

例:在等待用户输入的时候,通常不思考用户输入的用户名大小(或贰个顺序中规定采用的深浅写)

能够透过下边包车型大巴实例来调整其行使办法。

可以将用户的输入任何调换到小写、或大写再来进行相比

代码4-九 使用Format设置字符串格式:Default.aspx.cs

如:

  1. //Format

  2. String newStr=String.Format(“{0},{1}!”,strA,strB); //Hello,World!

Console.WriteLine(“请输入用户名”);

在format参数中带有部分用大括号扩起来的数字,如{0}、{一},那么些数字分别1一对应于args参数数组中的变量。在变化结果字符串时,将运用这一个变量替代{i}。供给验证的是,那个变量并不须求必须为String类型。

string uid = Console.ReadLine().ToLower();

在一定的运用中,Format方法十一分有利于。举个例子,想要输出一定格式的年月字符串,便能够使用Format方法,如上面代码所示:

// 再将uid与系统中的数据进行相比较

newStr=String.Format(“CurrentTime={0:yyyy-MM-dd}”,System.DateTime.Now);//形如:2007-05-19

四.二 移除首尾内定字符

内部,格式字符串“yyyy-MM-dd”钦赐再次回到时间的格式如“二〇〇七-0伍-1玖”,其定义可参照

艺术原型

System.Globalization.DateTimeFormatInfo类。

string .Trim();  // 移除首尾的空格

四.1.陆 连接字符串

string .TrimStart(); // 移除伊始的空格

String类包罗了五个三番五次字符串的静态方法,它们是Concat和Join,上面分别展开介绍。

string .TrimEnd();  // 移除结尾的空格

一.Concat措施
Concat方法用于连接五个或多少个字符串。要是读者熟稔C语言中的strcat()方法,能够通晓双方有类似之处。Concat方法也有七个重载格局,最常用的为:

一旦要钦点移除的内容,可增加二个char数组作为参数

? static string Concat(params string[]values);

string .Trim(char[] ch);

里面,参数values用于钦定所要连接的多少个字符串,能够透过上面包车型地铁实例来调整其应用办法。

例:在用户输入的时候,一般不考虑输入两边的空格,而使用Trim()方法

代码肆-十 使用Concat连接字符串:Default.aspx.cs

四.三 字符串的比较

  1. //Concat

  2. newStr=””;

  3. newStr=String.Concat(strA,” “,strB);

  4. Console.WriteLine(newStr); //”Hello World”

Compare()方法

2.Join方法

主意原型

Join方法运用二个字符数组和2个相间符串构造新的字符串。它平日用于把多少个字符串连接在一同,并用三个独辟蹊径的标记来分隔开分离。

int string.Compare(string str1,string str2);

Join的常用情势为:

循序渐进字典排序相比较

? static string Join(string separator, string[]value);
个中,参数separator
为钦赐的分隔符,而values用于钦点所要连接的八个字符串数组,下例用“^^”分隔符把“Hello”和“World”连起来。

当str1 > str2时,返回1

代码4-1一 使用Join连接字符串:Default.aspx.cs

当str1 = str2时,返回0

  1. //Join

  2. newStr=””; 

  3. String[] strArr={strA,strB};

  4. newStr=String.Join(“^^”,strArr);

  5. Console.WriteLine(newStr); //”Hello^^World”

当str1 < str2时,返回-1

三.连接运算符“+”
String援助连接运算符“+”,能够便宜的连日多少个字符串,如下例把“Hello”和“World”连接起来。

注:int string.Compare(string str一,string str2,bool
ignoreCase)表示是不是区分轻重缓急写

代码4-1二 使用“+”连接字符串:Default.aspx.cs

此地true表示不区分轻重缓急写,默认为false

  1. //使用+

  2. newStr=””;

  3. newStr=strA+strB; //”HelloWorld”

Equals()方法

四.1.七 拆分字符串
使用Join方法,能够选拔2个相间符把八个字符串连接起来。反过来,使用Split方法可以把3个整串,依照有个别分隔字符只怕字符串,拆分成1各个小的字符串。比方,把整串“Hello^^World”依照字符“^”举办拆分,能够获得1个小的字符串:“Hello”、“”(空串)和“World”;根据字符串“^^”,则能够博得多少个小的字符串:“Hello”和“World”。

办法原型

一.依据字符拆分 根据字符拆分的Split重载方法是:

bool .Equals(string str);

? public string[]Split(params char[]separator);
个中,参数separator数组包涵分隔符。下例把“Hello^^World”依据“^”举办拆分。

正如假使相等重回true,不然再次回到false

代码肆-1三 依据字符差别分隔符字符串:Default.aspx.cs

注:bool .Equals(string str,
StringComparison.OrdinalIgnoreCase)表示不区分轻重缓急写

  1. //Split

  2. newStr=”Hello^^World”;

  3. char[] separator={‘^’};

  4. String[] splitStrings=new String

  5. splitStrings=newStr.Split(separator);

  6. int i=0;

  7. while(i<splitStrings.Length)

  8. {

  9. Console.WriteLine(splitStrings[i])

  10. i++;

  11. }

注:假设单纯比较八个字符串是或不是等于,依然选取“==”比较简单

输出结果为:

例如:

Hello

Console.WriteLine(“请输入三个字符串”);

World

string str1 = Console.ReadLine();

2.基于字符串拆分 依照字符拆分的Split重载方法是:

Console.WriteLine(“请输入第一个字符串”);

? public string[]Split(string[] separator,StringSplitOptions
options)

string str2 = Console.ReadLine();

其间,参数separator数组是分隔字符串数组;参数options取值RemoveEmptyEntries时,将过滤空的数组成分,若取值one则赶回。下例把“Hello^^World”依据“^^”进行拆分。

// 不思量大小写的相比

代码4-1四 根据字符串差距分隔符字符串:Default.aspx.cs

bool isEqual = str1.ToLower() == str2.ToLower();

  1. //split

  2. String[] separator = new string[] { strB.Text };

  3. String[] splitStrings=new String[100];

  4. splitStrings=newStr.Split(separator,StringSplitOptions.None);

  5. int i=0;

  6. while(i<splitStrings.Length)

  7. {

  8. Page.Response.Write(splitStrings[i] + “<br />”);

  9. i++;

  10. }

4.四 字符串的集合与区划

输出结果为:

合并Join方法

Hello

将数组strArr中的内容拼接成2个字符串,并在对应数组的每两项间增加分隔符str

World

string.Join(str,strArr);

4.一.捌 插入字符串

办法原型

String类包蕴了在三个字符串中插入新因素的办法Insert,用于在字符串的自便地方插入率性的字符:

string string.Join(string str,string[] strArr);

? public string Insert(int startIndex, string value);

字符串分割Split方法

中间,参数startIndex用于钦定所要插入的岗位,从0起首索引;value钦定所要插入的字符串。下例中,在“Hello”的字符“H”前边插入“World”,构造一个串“HWorldello”。

方法原型:

代码四-15 使用Insert插入字符串:Default.aspx.cs

string[] .Split(params char[] separator);

  1. //Insert

  2. newStr=””;

  3. newStr=strA.Insert(1,strB); //”HWorldello”

将字符串以separator数组中的字符分割,分割后得到的故事情节存到二个数组中

肆.1.9 填充字符串

例:

偶尔,恐怕供给对1个字符串进行填充,举例,想要把“Hello”变为长度为十九个字符的串,并使用字符“*”进行填充,即产生“***************Hello”。PadLeft方法可以达成那个功用,用于在2个字符串的右侧举办字符填充,使其抵达自然的尺寸。PadLeft有三种重载形式:

// 分析这句话,提取这句话的单词

? public string PadLeft(int totalWidth);

string str = “Hello, How are you?”;

? public string PadLeft(int totalWidth, char paddingChar);

string[] words = str.Split(‘ ‘,’,’,’?’);

个中,参数totalWidth钦点了填充后的字符长度,而paddingChar钦点所要填充的字符,假若默许,则填充空格符号。

注:再次来到的数组中得以有空字符串项,借使要去掉那个空字符串项,可以应用

下例中,完成了对“Hello”的填充操作,使其尺寸变为20。

string[] .Split(char[]
separator,StringSplitOptions.RemoveEmptyEntries);

代码肆-16 使用PadLeft填充字符串:Default.aspx.cs

所以例子可改为

  1. //PadLeft

  2. newStr=””;

  3. newStr=strA.PadLeft(20,’*’); //”***************Hello

string str = “Hello, How are you?”;

同PadLeft类似,PadRight能够完成对3个字符在其右手的填充效能,对其不作赘述。

string[] words = str.Split(new char[]{‘
‘,’,’,’?’},StringSplitOptions.RemoveEmptyEntries);

四.壹.拾 删除字符串

四.5 字符串查找

String类包蕴了剔除多少个字符串的点子,能够用Remove方法在随心所欲地点删除放4长度的字符,也能够利用Trim/TrimEnd/TrimStart方法剪切掉字符串中的一些一定字符。

Contains方法

一.Remove方法 Remove方法从一个字符串的制定地点上马,删除钦赐数量的字符。

艺术原型:

最常用的为: ? public string Remove( int startIndex, int count);
个中,参数startIndex用于钦命所要伊始删除的岗位,从0起先索引;count钦赐所要删除的字符数量。下例中,把“Hello”中的“ell”删掉。

bool .Contains(string str);

代码四-壹七 使用Remove删除字符串:Default.aspx.cs

代表字符串中是还是不是带有str,若是带有,重返true,不然重临false

  1. //Remove

  2. newStr=””;

  3. newStr=strA.Remove(1,3); //”Ho”

例:

2.Trim/TrimStart/TrimEnd方法
若想把3个字符串首尾处的有个别差别经常字符剪切掉,如去掉二个字符串首尾的空格等,能够选拔String的Trim方法。其款式为:

Console.WriteLine(“随便输入一串字母”);

? public string Trim ();

string str = Console.ReadLine();

? public string Trim (params char[]trimChars);

if(str.Contains(“abc”))

里头,参数trimChars数组包括了钦定了所要去掉的字符,假如暗许,则删除空格符号。下例中,落成了对“@Hello#
$”的净化,去掉首尾的特殊符号。

{

代码四-1八 使用Trim去掉首尾的特殊符号:Default.aspx.cs

Console.WriteLine(“字符串{0}中包含{1}”,str,”abc”);

  1. //Trim

  2. newStr=””;

  3. char[] trimChars={‘@’,’#’,’$’,’ ‘};

  4. String strC=”@Hello# $”;

  5. 串catorldnewStr=strC.Trim(trimChars); //”Hello”

}

除此以外,同Trim类似,TrimStart和TrimEnd分别剪切掉叁个字符串起先和结尾处的特殊字符。

else

四.一.1① 复制字符串
String类包蕴了复制字符串方法Copy和CopyTo,能够成功对3个字符串及其一部分的复制操作。

{

1.Copy措施
若想把一个字符串复制到另3个字符串中,能够选拔String的静态方法Copy来促成,其情势为:

Console.WriteLine(“字符串{0}中不分包{1}”,str,”abc”);

? static string Copy(string str);
个中,参数str为急需复制的源字符串,方法重临目的字符串。下例中,把TextBoxA种的字符串复制到newStr中。

}

代码4-1玖 使用Copy复制字符串:Default.aspx.cs

IndexOf方法

  1. //Copy

  2. newStr=””;

  3. newStr=String.Copy(strA)

常用的二种样式:

2.CopyTo方法

int .IndexOf(string str);     // 从头开首,出现第二回的下标

CopyTo方法能够兑现Copy同样的效应,但效果尤为丰盛,能够复制源字符串中的壹部分到3个字符数组中。此外,CopyTo不是静态方法,其款式为:

int .IndexOf(string str,int startIndex); //
从startIndex初阶,出现第二次的下标

? public void CopyTo(int sourceIndex, char[] destination, int
destinationIndex, int count);

若是未有找到则赶回-一

个中,参数sourceIndex为须要复制的字符开端地方,destination为对象字符数组,destinationIndex制定目标数组中的开头存放地方,而count钦赐所要复制的字符个数。下例中,把strA字符串“Hello”中的“ell”复制到newCharArr中,并在newCharArr中从第2个要素初步存放。

澳门葡京备用网址,例:

代码4-20 使用CopyTo复制字符串:Default.aspx.cs

string str = “C#言语基础,教师蒋坤”;

  1. //CopyTo

  2. char[] newCharArr=new char[100];

  3. strA.CopyTo(2,newCharArr,0,3); //”Hel”

int res1 = str.IndexOf(“蒋坤”);

4.一.12 替换字符串
假设想要替换掉2个字符串中的有些特定字符只怕某些子串,能够应用Replace方法来落到实处,其方式为:

int res2 = str.IndexOf(“蒋 坤”);

? public string Replace(char oldChar, char newChar);

Console.WriteLine(res1 + “\n” + res2);

? public string Replace(string oldValue, string oldValue,);

注:LastIndexOf方法从最终3个起来相配

在那之中,参数oldChar和oldValue为待替换的字符和子串,而newChar和newValue为轮换后的新字符和新子串。下例把“Hello”通过轮换变为“Hero”。

IndexOfAny方法

代码四-贰一 使用Replace替换字符串:Default.aspx.cs

艺术原型:

  1. //Replace

  2. newStr=strA.Replace(“ll”,”r”); //Hero

int .IndexOfAny(char[] anyOf);

4.1.1三 改变大小写

检索字符数中的全体内容,重返第1个的地方

String提供了福利调换字符串中存有字符大小写的秘诀ToUpper和ToLower。

一如既往有五个参数的重载

那八个点子未有输入参数,使用也万分轻便。

int .IndexOfAny(char[] anyOf, int startIndex);

下例首先把“Hello”转换为“HELLO”,然后在成为小写格局“hello”。

4.六 求子字符串

代码4-22 使用ToUpper更换字符串大小写:Default.aspx.cs

办法原型

  1. //ToUpper

  2. newStr=strA.ToUpper(); //HELLO

  3. //ToLower

  4. newStr=strA.ToLower(); //hell

string .Substring(int startIndex, int length);

从字符串的startIndex地点上马提取长度为length的字符串,假使简单第一个参数表示一向到终极

四.7 字符串的插入、移除和替换

4.7.1 插入

在字符串的index地方上插入str,原来的字符依次后移,形成三个新的字符串

= .Insert(index,str);

格局原型为:

string .Insert(int index, string str);

4.7.2 移除

在字符串中移除从startIndex初步,长度为length的字符串,剩下的字符按原序合并为1个新的字符串

= .Remove(startIndex,length);

方法原型为:

string .Remove(int startIndex, int length);

注:倘使轻松第四个参数,将移除startIndex后的有着字符串

4.7.3 替换

将字符串中的oldChar替换为newChar

= .Replace(oldChar,newChar);

主意原型:

string .Replace(char oldChar, char newChar);

一致,那几个替换的字符也足以是字符串

string .Replace(string oldValue, string newValue);

4.八 判定截止与起首

认清字符串是不是以某字符串伊始或收尾

bool .StartsWith(string str);

bool .EndsWith(string str);

注:字符串具有不可变性,对字符串的修改,实际上都以重新得到一个字符串,重新赋值

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*
*
Website