C#常用字符串处理

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

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 类型的















  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值