• [ASP.NET] C#字符串处理


    string字符串是char的集合,而char是Unicode的代码,所以char可以转化为int。
    字符串在参数传递时为引用传递;可以使用空字符串(”")。
    一、字符串类型转换
    1.转为char
    可以用索引器来得到字符串中指定的字符,如:
    string myString=”hello”;
    char myChars;
    myChars=myString[0];
    要想得到一个char数组可以用如下方法:

    char[] myChars = myString.ToCharArray();

    char[]与string的不同之处在于char[]可以读写,而string只能读(改写只是对他的重构)
    2.转为bety
    byte[] bytStr = System.Text.Encoding.Default.GetBytes(str);
    反转:
    string string = Syste.Text.Encoding.ASCII.GetString( bytes, 0, nBytesSize );
    3.转为int
    int.parse(str);
    4.转为string
    用基类提供能的Tostring,如:
    123.Tostring();
    5.其他转化
    Convert.To***(str);如:
    Convert.ToInt32(”123″);
    Convert.ToBoolean(”123″);
    Convert.ToBoolean(”false”);
    Convert是一个形式转换的类,不止能转字符串,我们可以用它的静态方法实现好多类型转换
    6.转义字符
    单个的char用”\”,字符可以用”@”
    例如:@”C:\WINDOWS\system32″ 和 “C:\\WINDOWS\\system32″ 是等价的

    二、常见字符串处理方法
    1.字符串比较
    字符串.ComparTo(目标字符串)
    “a”.ComparTo(”b”);
    2.查找子串
    字符串.IndexOf(子串,查找其实位置) ;
    字符串.LastIndexOf(子串) ;最后一次出现的位置
    str.IndexOf(”ab”,0);
    3.插入子串
    字符串.Insert(插入位置,插入子串) ;
    s.Insert(2,”ab”);
    4.移出子串
    字符串.Remove(其实位置,移出数);
    s.Remove(3,2);
    5.替换子串
    字符串.Replace(源子串,替换为);
    s.Replace(”-”,” “);将-替换为空格
    6.截取子串
    字符串.Substring(截取其实位置,截取个数);
    “abcdef”.Substring(2,3);结果为cde
    7.去空格
    myString = myString.Trim(); //同时删除字符串前后的空格
    char[] trimChars = {’ ‘,’e’,’s’}; //准备删除的字符
    myString = myString.Trim(trimChars); //删除所有指定字符
    myString = myString.TrimEnd(); //删除字符串后的空格
    myString = myString.TrimStart(); //删除字符串前的空格
    8.转换大小写
    str.ToLower()转化成小写字母
    str.ToUpper()转化成大写字母
    Char.IsUpper(str,3)//判断一个字符串中的第n个字符是否是大写
    9.拆分字符串
    string[] Strs = myString.Split(’ ‘,3); //按照空格进行拆分,并且返回前三个字符串,结果在字符串数组里
    10.使字串达到指定长度
    PadLeft()、PadRight() ,如:
    string str1=”00″;
    str1=str1.PadLeft(3,’1′); //无第二参数为加空格,结果为“100”
    11.得到字符串长度
    len=str.Length;
    12.字符串遍历
    string myString = “This is a test!”;
    foreach (char myChar in myString)
    {
    Console.Write(”{0}”,myChar);
    }
    其他方法见MSDN

    转载请注明文章来自http://hi.baidu.com/chunquedong

    首先介绍一下常用的几个功能:

    compare(str1,str2)——比较两个字符串 str1,str2的大小,如果大于返回正数,等于返回0,小于返回负数!

    indexof——定位字符串中第一次出现某个给定字符串的位置
    PadLeft和PadRight——在字符串的开始和结尾用指定的字符填充字符串
    ToLower和ToUpper把字符串转换为小写或大写形式
    Trim——删除首尾空白
    String.Replace——用指定的字符替换字符串中的指定字符。
    C#中字符串的建立过程:
    例如定义变量 strT=”Welcome to “;
    strT+=”www.sinory.com”;
    程序首先创建一个System.String 类型的对象并初始化为“Welcome to”。此时编译程度会分配足够的内存来保存这个文本串。并用变量strT来表示这个实例。当执行strT+=”www.sinory.com”时,系统会创建一个新的实例,并分配足够的内存来保存复合后的文本。然后用变量strT来表示这个新的字符
    串,就的字符串被撤消。当要进行大规模的字符替换与调整操作时,使用字符串来操作将严重影响性能。在这中情况下就可以用System.Text.StringBuilder类。

        StringBuilder类并没有String 类的功能强大,只提供基本的替换和添加和删除字符串中的文本,但它的工作效率非常高,当定义StringBuilder对象时可以指定内存的内存容量,如果不指定系统就会根据对象初始化时的字符串长度来确定。它有两个主要参数Length和Capacity分别表示字符串的实际长度和字符串占据的内存空间长度。对字符串的修改就是在这个内存中进行的,大大提高了添加和替换的的效率。
    如定义:StringBuilder sb=new StringBuilder(”Hello,Welcome”,100);//初始化对象并设置初始容量为100
          sb.Append(” to www.sinory.com”);
          sb.Replace(old,new);//将old替换为new,作用与String.Replace()一样只是不需要在过程中复制字符。
    StringBuilder的成员:
        StringBuilder sb=new StringBuilder(”www.sinory.com”);//定义初值为www.sinory.com的对象。
        StringBuilder sb=new StringBuilder(20);初始化容量为20的空对象。
        另外StringBuilder还有MaxCapacity属性用来限定对象可以使用的最大容量。默认大约是int.MaxValue(20亿)
        可以在使用过程中定义sb.MaxCapacity=value;
        sb.Append(),给当前字符串追加字符串。
        sb.AppendFormat()——添加特定格式的字符串
        sb.Insert()——插入一个子字符串
        sb.Remove()——从当前字符串删除字符
        sb.Replace()——替换字符串中指定的字符
        sb.ToString()——将sb转化为String 对象
    来源:www.sinory.com 作者:sjklaus

    String类型可以看作是char变量的只读数组。

    //string类型变量可以看作char变量的只读数组的使用

    string myString = “A string”;

    //使用数组变量的ToCharArray()命令将string变量myString变量的字符串值赋给

    //char类型的数组myChar为元素

    char[] myChars = myString.ToCharArray();//ToCharArray()命令把字符串值转换成char数组元素

    foreach (char myChar in myChars)//读取数组元素

    {

    Console.WriteLine(”{0}”,myChar);//或(myChar)

    }

    //string类型变量可以看作char变量的只读数组的使用

    Console.WriteLine(”请输入要转换的字符串,把其转换为char数组元素”);

    string myString = Console.ReadLine();//从屏幕得到字符串

    Console.WriteLine(”你输入的字符串长度为:{0}”,myString .Length );//获取字符串的长度

    //使用数组变量的ToCharArray()命令将string变量myString变量的字符串值赋给

    //char类型的数组myChar为元素

    char[] myChars = myString.ToCharArray();//ToCharArray()命令把字符串值转换成char数组元素

    foreach (char myChar in myChars)//读取数组元素

    {
    Console.WriteLine(”{0}”,myChar);//或(myChar)
    }

    //字符串大小写转换
    Console.WriteLine(”请输入字母字符串:”);
    string myString =Console.ReadLine();
    //myString = myString.ToLower();
    //myString=myString.

    Console.WriteLine(”小写形式:{0}”,myString.ToLower());//这种大小写转换输出的形式

    Console.WriteLine(”大写形式:{0}”,myString .ToUpper ());

    //字符串大小写转换命令
    Console.WriteLine(”请输入字母字符串:”);
    string myString =Console.ReadLine();
    //大小写转换命令:这两个命令与其他命令一样,并没有改变应用字符串的方式
    //把这两个命令与字符串合并使用,就会创建一个新的字符串,以便与另一个字符进行
    //比较,或者赋给另一个变量。

    myString = myString.ToLower();

    Console.WriteLine(”小写形式:{0}”, myString);

    myString = myString.ToUpper();

    Console.WriteLine(”大写形式:{0}”,myString);

    //字符串大小写转换命令

    Console.WriteLine(”请输入字母字符串:”);
    string myString =Console.ReadLine();
    myString = myString.ToLower();
    // myString = myString.ToUpper();
    if (myString ==”YES”)
    Console.WriteLine(”大写形式:{0}”, myString);
    else
    Console.WriteLine(”小写形式:{0}”, myString);

    //字符串大小写转换命令

    Console.WriteLine(”请输入字母字符串:”);

    string myString =Console.ReadLine();

    //myString = myString.ToLower();

    // myString = myString.ToUpper();

    if (myString.ToUpper() ==”YES”)//布尔条件里面的使用检测字符串

    Console.WriteLine(”大写形式:{0}”, myString);

    else

    Console.WriteLine(”{0}”, myString);

    //删除空格命令 .Trim()

    string userResponse = Console.ReadLine();
    userResponse = userResponse.Trim();//用该命令处理后产生新地变量再赋给此变量:

    if (userResponse.ToLower() == “yes”)
    Console.WriteLine(”OK!”);
    else
    Console .WriteLine (”NO!”);

    //Trim命令,有删除字符空格的作用

    char[] trimChars ={ ‘ ‘,’e’,’s’};//命名一个要被删除的字符的数组

    string userResponse = Console.ReadLine();

    userResponse = userResponse.ToLower();

    userResponse = userResponse.Trim(trimChars);//Trim()括号的这种用法,里面是变量

    if (userResponse == “y”)

    {

    Console.WriteLine(”.Trim()命令可以删除字符\”yes\”删除后e s 后变为:{0}”,userResponse );

    }

    //删除字符串前后字符命令,也可以指定char数组删除字符与空格

    string mystring = Console.ReadLine();

    mystring = mystring.TrimStart();//删除前面的空格

    mystring = mystring.TrimEnd();//删除字符串后面的空格

    Console.WriteLine(”删除字符串前面后面的空格:*{0}*”,mystring );

    //添加空格 .trimStart() .trimEnd() 删除左右空格命令

    string mystring = Console.ReadLine();

    //为字符串添加空格

    mystring = mystring.TrimStart();//删除前面的空格

    mystring = mystring.PadLeft(10);//在字符串左面添加10 个空格

    mystring = mystring.TrimEnd();//删除字符串后面的空格
    mystring = mystring.PadRight(30);//在字符串的右面添加10 个空格
    Console.WriteLine(”删除字符串前面后面的空格:*{0}*”,mystring );

    //字符串的添加命令: .PadRight() . PadLeft() 使字符串达到指定的长度
    string myString = Console.ReadLine();
    //空格的添加命令,都是从左向右数字符串的长度进行添加 空格

    myString = myString.PadLeft(10);
    Console.WriteLine(”*{0}*”,myString.PadRight (11));

    //字符串左右添加空格字符命令

    string myString = Console.ReadLine();

    //PadLeft() PadRight() 向字符串左右添加 空格字符命令

    myString = myString.PadLeft(10, ‘#’);

    myString = myString.PadRight(20,’*’);

    Console.WriteLine(”{0}”,myString);

    //Split用指定的分隔符数组分隔字符串中 得其子字符串

    string myString = “This is a test”;

    char[] separator ={’ ‘};//‘a’ a为分隔符,此例为空格分隔符定义一个分隔符数组

    string[] myWords;

    //.Split命令可以把myString转换为string数组,并把它在指定的位置分隔开

    //分隔符为数组中的元素!

    myWords = myString.Split(separator ); //Split命令作用是用指定的分隔符分隔字符串,成为子字符串 子字符串赋给数组,作为元素输出

    foreach (string word in myWords)
    {
    Console.WriteLine(”{0}”,word );
    }


  • 相关阅读:
    Java IO流
    Java中Char和Byte的区别
    Java常用类
    View
    3 View
    View
    3 View
    3 View视图 URLconf
    2 Model层
    2 Model层-模型成员
  • 原文地址:https://www.cnblogs.com/xuerongli/p/2976669.html
Copyright © 2020-2023  润新知