C#常用字符串处理

来源:互联网 发布:java amr转mp3 编辑:程序博客网 时间:2024/05/22 05:57

我们在编码的过程中,常常需要处理一些字符串。例如对字符串的一些拆分,字符串中字符的替代,以及剪切;又例如,需要对字符串进行进制之间的转换,格式的的约束等等。这些经常用到的方法整理如下:

Convert.ToString(...)

1.十进制转二进制

             int d = 10;               //十进制转二进制字符串               Console.WriteLine(Convert.ToString(d,2));              //输出: 1010  
              2.十进制转十六进制字符串  

              

            int d = 10;            //十进制转十六进制字符串              Console.WriteLine(Convert.ToString(d, 16));            //输出: a  
3. 二进制字符串转十进制数 

            //二进制字符串转十进制数              string bin = "1010";              Console.WriteLine(Convert.ToInt32(bin,2));              //输出: 10  
4.二进制转十六进制

           //二进制字符串转十六进制数              string bin2 = "1010";              Console.WriteLine(string.Format("{0:x}",Convert.ToInt32(bin2,2)));              //输出: a  
5.十六进制转二进制

           //十六进制转二进制字符串             Console.WriteLine(Convert.ToString(0xa,2));             //输出: 1010  
6.十六进制转十进制数  

            //十六进制转十进制数              Console.WriteLine(Convert.ToString(0xa,10));              //输出: 10  
7.字符串左边补零

            int dn=11;            Console.WriteLine(Convert.ToString(dn, 16).PadLeft(2,'0'));
            //输出:0b
               8.字符串替换

            string strt = "hello world";            strt = strt.Replace("l", "L");            Console.WriteLine("new string is " + strt);
            //输出结果:heLLo worLd
9.字符串剪切

            string strt = "hello world";            strt = strt.Substring(strt.IndexOf("e")+1);            Console.WriteLine("new2 string is " + strt);
10.字符串拆分

            string str2="1,2,3,4.5.6.7";            string[] strM=str2.Split(new char[2]{',','.'});            foreach (string var in strM)            {                Console.Write(var+" ");            }
            //输出结果是:
            1 2 3 4 5 6 7  
                11.字符串拆分,复杂一点的,用单词分割的那种

            string str3 = "helloMrZhanghelloMissLihelloMrZhao";            string[] strName = System.Text.RegularExpressions.Regex.Split(str3, "hello", System.Text.RegularExpressions.RegexOptions.IgnoreCase);            foreach (string var in strName)            {                Console.Write(var + " ");            }
            //输出结果:<pre name="code" class="csharp">            MrZhang  MissLi MrZhao

12.字符串替换,复杂一点的,一次可以替换多个

         
           string s = Regex.Replace("abracadabra", "abra", "zzzz");
<pre name="code" class="csharp">           Console.Write(s);
//结果:zzzzcadzzzz

13.去掉字符串空格

          string   tt=" aaa ";           tt=tt.Trim();      去字符串首尾空格的函数          tt=tt.TrimEnd();   去掉字符串尾空格          tt=tt.TrimStart(); 去掉字符串首空格
14.字符串转字符数组,方法1

            string str1 = "fafaaf";            string str2;            //字符串的复制,要用静态方法string.Copy(string source)              str2 = string.Copy(str1);            //将字符串转换为字符数组的方法1:str.CopyTo(int sourceindex, char[] destination, int destinationIndex, int count)              char[] chaArr = { 'a', '2', '3', '4', '5', '6' };            str2.CopyTo(0, chaArr, 0, 6);            Console.WriteLine(str2);            foreach (char mychar in chaArr)            {                Console.Write(mychar);            }            Console.WriteLine();
15.字符串转字符数组,方法2
            //将字符串转换为字符数组的方法2:ToCharArray()              char[] charArr2 = new char[6];            charArr2 = str2.ToCharArray();            foreach (char mychar1 in charArr2)            {                Console.Write(mychar1);            }
16.字符串转字符数组,方法3   GetBytes()

        private static void TestStringBytes()        {            string s = "C#语言";            byte[] b1 = System.Text.Encoding.Default.GetBytes(s);            byte[] b2 = System.Text.Encoding.Unicode.GetBytes(s);            string t1 = "", t2 = "";            foreach (byte b in b1)            {                t1 += b.ToString("") + " ";            }            Console.WriteLine("第1种编码"+t1.ToString());            foreach (byte b in b2)            {                t2 += b.ToString("") + " ";            }            Console.WriteLine("第2种编码" + t2.ToString());            Console.WriteLine();        } 
17.字符数组转化为字符串

           byte[] bs = { 97, 98, 99, 100, 101, 102 };           string ss = System.Text.Encoding.ASCII.GetString(bs);           //this.textBox1.AppendText("The string is: " + ss + "\n");            Console.WriteLine(ss);
          //输出结果是:abcdef
18.科学计数法转化为 普通的计数法1

          double a = 7E-7;          string b = a.ToString("0.0000000000");//括号里面的是字符串格式          Console.WriteLine("new is "+b);
19.科学计数法转化为普通的计数法2

         //1.字符串值中包含E等科学计数法,比如12E-2,///需要进行转化为普通数值0.12,         //2.转化函数如下:         //代码如下:        private Decimal ChangeDataToD(string strData)        {             Decimal dData = 0.0M;             if (strData.Contains("E"))             {                   dData = Convert.ToDecimal(Decimal.Parse(strData.ToString(), System.Globalization.NumberStyles.Float));             }             return dData;       }       // 3.调用的时候直接调用ChangeDataD(strTex//t)        // 4.运行后就是0.12.
20.字符串转化为数值类型,Parse 方法

                //字符串数据转换为数值型使用Pares()方法

        //字符串转换为整型用int.Parse()        string str="13";        int number=int.Parse(str);        //字符串转换为双精度浮点型  double.Parse()string        string str="14";        double number =double.Parse(str);        字符串转换为单精度浮点型  float.Parse(string)        string str="15";        float number=float.Parse(str);        //不是认识字符串都可以转换为数值型数据,只有能够表示成数字的字符串才可以进行转换,例如名字“张三”,转换成数字没有可以符合的表达式,就不能实现转换        //注意 Pares() 括号中的参数只能是字符串,不能为其他数据类型。
        // 注意
        // int.TryParse(str) 意思 尝试将非int类型数据转换成int类型数据,转换成功返回true,否则返回false

21.关于 parse 与convert的比较

区别是:

                  Convert需要参数是obj类型的
                  Parse需要参数string 类型的















0 0