C#字符串处理

来源:互联网 发布:centos 7安装桌面环境 编辑:程序博客网 时间:2024/05/17 20:34

字符串(string): 实际是在内存的托管堆上用一个变量名对应的存储空间内存储数据实际存储位置的地址。

声明字符串:
stringstring_name=”string”; //直接定义初始化
stringstring_name=new string(char[])将一个字符串数组作为参数赋值给字符串变量

常见字符串函数:
CompareTo(string2): 比较两个字符串是否相等,返回1,0,-1。
Clone(): 将一个字符串克隆到另一个对象。
IndexOf(string): 获取字符串中的第一个出现子字符串字符的位置。
LastIndexOf(string): 获取字符串中的最后一个匹配的子字符串的索引位置。
ToCharArray(): 将字符串转换成字符型数组。
ToLower(): 转换小写。
ToUpper(): 转换大写。
Split(char): 用一个分割符(字符)来将一个字符串分割为字符串数组。
string.Join(string,string[]): 用一个连接字符串将字符串数组中的子字符串连接起来。
StartsWith(string,System.StringComparsion.?): 返回bool型,比较字符串是否以某个字符串开头;System.StringComparsion.? 是指比较的标准,例如是否忽略大小写等。
EndsWith(string,System.StringComparsion.?): 返回某个字符串是否以某个子字符串结尾。
SubString(intstartindex,int length): 从一个字符串中截取以指定开始位置个长度的字符串。
Trim(): 去除首尾空格。
LTrim(): 去除左边空格。
Rtrim(): 去除右边空格。
 
使用正则表达式搜索字符串:
正则表达式:用某种模式去匹配一个字符串的公式。
命名空间 usingSystem.Text.RegularExpressions;
Regex类的IsMatch(string,stringPattern, RegexOptions.?)方法可以检索字符串是否符合某种规则。参数分别为带检索的字符串,匹配模式,比较规则。


string Pattern: 字符串文本匹配规则
   ^ 文本开头匹配;$ 文本结尾匹配;. 出换行符以外的单个字符;* 可以重复0次或多次的迁到字符;+ 可以重复1次或多次的前导字符。
 
StringBuilder 可变字符串类:
StringBuilderstringname= new StringBuilder("hello",100);
初始化了部分空间的数据,剩余的空间仍然可以使用,而不必重新开辟一个新的空间。
方法:
Append(string): 添加字符串。
AppendFormat(): 添加特定格式化字符串。
Insert(int index,string): 在指定索引位置处插入字符串。
Remove(intstartindex,int length): 从指定索引位置删除指定长度字符串。
Replace(Charoldcha,Char newcha): 将oldchar替换为newchar。
ToString(): 将StringBuilder转换为System.string类型。
 
输入输出:
Console.WriteLine(); 输出后换行,将参数传递给string.Format()静态方法进行格式化。
Console.Write(); 输出后不换行。
Console.ReadLine(); 读取输入信息,读取类型为字符串。
Format()格式: 数字格式化参数
   C: 数字格式化为货币格式。
   D: 十进制整数 
   E: 数字格式化为科学技术法。
   F: 数字固定小数点位。
   G: 数字一般数字
   P: 数字格式化为百分数。
   X: 整数格式化为十六进制。
 
实验:
1. CompareTo:比较两个字符串的值是否相等。
string str1 ="hello", str2 = " word!"; 
if(str1.CompareTo(str2) > 0)
           {
               Console.WriteLine(str1.CompareTo(str2));
           }
           else
           {
               Console.WriteLine(str1.CompareTo(str2));
           };
           Console.ReadLine();
 
2. Clone(): objectstr4 = str1.Clone();
 
3. IndexOf(string)
4. ToCharArray()
修改一个字符串时,会创建另一个另一个同名的字符串,开辟另一个空间,StringBuilder类提供了ToCharArray()方法将字符串转换成字符数组,经过修改后,再将其赋值给原字符串的原空间。
string stra ="hello word,my first try!";
           int indexname = stra.IndexOf("word");
           Console.WriteLine(indexname);
           char[] chararray = stra.ToCharArray();
           if (indexname != -1)
           {
               chararray[indexname] = 'j';
               chararray[++indexname] = 'e';
               chararray[++indexname] = 'r';
               chararray[++indexname] = 'r';
           }
           stra = new string(chararray);
           Console.WriteLine(stra);
           Console.ReadLine();
 
5. Split()
6. string.Join()将一个IP地址分割后再用空格连接起来。
string splits="192.168.1.2";
           string[] stringafter;
           string stringlast;
           stringafter = splits.Split('.');
           foreach (string s in stringafter)
           {
               Console.WriteLine(s);
           }
           stringlast = string.Join(" ", stringafter);
           Console.WriteLine(stringlast);
           Console.ReadLine();
 
7.SubString()
char[] chara ={'a','b','c'};
           string sa = new string(chara);
           string x=sa.Substring(0,3)+"y";
           Console.WriteLine(x);
           Console.ReadLine();

原创粉丝点击