作者: 常浩   

 staticvoid Main(string[] args)
 {
             string s ="";
             //(1)字符访问(下标访问s[i])
             s ="ABCD";
             Console.WriteLine(s[]); // 输出"A";
             Console.WriteLine(s.Length); // 输出4
             Console.WriteLine();

             //(2)打散为字符数组(ToCharArray)
             s ="ABCD";
             char[] arr = s.ToCharArray(); // 把字符串打散成字符数组{'A','B','C','D'}
             Console.WriteLine(arr[]); // 输出数组的第一个元素,输出"A"
             Console.WriteLine();

             //(3)截取子串(Substring)
            s ="ABCD";
)); // 从第2位开始(索引从0开始)截取一直到字符串结束,输出"BCD"
            Console.WriteLine(s.Substring(, )); // 从第2位开始截取2位,输出"BC"
            Console.WriteLine();

             //(4)匹配索引(IndexOf())
          s ="ABCABCD";
          Console.WriteLine(s.IndexOf('A')); // 从字符串头部开始搜索第一个匹配字符A的位置索引,输出"0"
          Console.WriteLine(s.IndexOf("BCD")); // 从字符串头部开始搜索第一个匹配字符串BCD的位置,输出"4"
          Console.WriteLine(s.LastIndexOf('C')); // 从字符串尾部开始搜索第一个匹配字符C的位置,输出"5"
          Console.WriteLine(s.LastIndexOf("AB")); //从字符串尾部开始搜索第一个匹配字符串BCD的位置,输出"3"
          Console.WriteLine(s.IndexOf('E'));//从字符串头部开始搜索第一个匹配字符串E的位置,没有匹配输出"-1";
          Console.WriteLine(s.Contains("ABCD")); // 判断字符串中是否存在另一个字符串"ABCD",输出true
          Console.WriteLine();

             //(5)大小写转换(ToUpper和ToLower)
             s ="aBcD";
             Console.WriteLine(s.ToLower()); // 转化为小写,输出"abcd"
             Console.WriteLine(s.ToUpper()); // 转化为大写,输出"ABCD"
             Console.WriteLine();

             //(6)填充对齐(PadLeft和PadRight)
             s ="ABCD";
             Console.WriteLine(s.PadLeft(, '_')); // 使用'_'填充字符串左部,使它扩充到6位总长度,                 //输出"__ABCD"
             Console.WriteLine(s.PadRight(, '_')); // 使用'_'填充字符串右部,使它扩充到6位总长度,                //输出"ABCD__"
             Console.WriteLine();

             //(7)截头去尾(Trim)
             s ="__AB__CD__";
             Console.WriteLine(s.Trim('_')); // 移除字符串中头部和尾部的'_'字符,输出"AB__CD"
             Console.WriteLine(s.TrimStart('_')); // 移除字符串中头部的'_'字符,输出"AB__CD__"
             Console.WriteLine(s.TrimEnd('_')); // 移除字符串中尾部的'_'字符,输出"__AB__CD"
             Console.WriteLine();

             //(8)插入和删除(Insert和Remove)
             s ="ADEF";
             Console.WriteLine(s.Insert(, "BC")); // 在字符串的第2位处插入字符串"BC",输出"ABCDEF"
             Console.WriteLine(s);
             Console.WriteLine(s.Remove()); // 从字符串的第2位开始到最后的字符都删除,输出"A"
             Console.WriteLine(s);
             Console.WriteLine(s.Remove(, )); // 从字符串的第1位开始删除2个字符,输出"EF"
             Console.WriteLine();

             //(9)替换字符(串)(Replace)
             s ="A_B_C_D";
             Console.WriteLine(s.Replace('_', '-')); // 把字符串中的'_'字符替换为'-',输出"A-B-C-D"
             Console.WriteLine(s.Replace("_", "")); // 把字符串中的"_"替换为空字符串,输出"A B C D"
             Console.WriteLine();

             //(10)分割为字符串数组(Split)——互逆操作:联合一个字符串静态方法Join(seperator,arr[])
             s ="AA,BB,CC,DD";
             string[] arr1 = s.Split(','); // 以','字符对字符串进行分割,返回字符串数组
             Console.WriteLine(arr1[]); // 输出"AA"
             Console.WriteLine(arr1[]); // 输出"BB"
             Console.WriteLine(arr1[]); // 输出"CC"
             Console.WriteLine(arr1[]); // 输出"DD"
             Console.WriteLine();

             s ="AA--BB--CC--DD";
             string[] arr2 = s.Replace("--", "-").Split('-');              // 以字符串进行分割的技巧:先把字符串"--"替换为单个字符"-",              //然后以'-'字符对字符串进行分割,返回字符串数组
             Console.WriteLine(arr2[]); // 输出"AA"
             Console.WriteLine(arr2[]); // 输出"BB"
             Console.WriteLine(arr2[]); // 输出"CC"
             Console.WriteLine(arr2[]); // 输出"DD"
             Console.WriteLine();

             //(11)格式化(静态方法Format)
             Console.WriteLine(, , +));
             Console.WriteLine(, , 1.00/3.00));
             Console.WriteLine(string.Format("{0:yyyy年MM月dd日}", DateTime.Now));

             //(12)连接成一个字符串(静态方法Concat、静态方法Join和实例方法StringBuilder.Append)
             s ="A,B,C,D";
             string[] arr3 = s.Split(','); // arr = {"A","B","C","D"}

             Console.WriteLine(string.Concat(arr3)); // 将一个字符串数组连接成一个字符串,输出"ABCD"

             Console.WriteLine(string.Join(",", arr3));                // 以","作为分割符号将一个字符串数组连接成一个字符串,输出"A,B,C,D"
             StringBuilder sb =new StringBuilder(); // 声明一个字符串构造器实例
             sb.Append("A"); // 使用字符串构造器连接字符串能获得更高的性能
             sb.Append('B');
             Console.WriteLine(sb.ToString());// 输出"AB"
              Console.ReadKey();
         }

c#字符串方法的更多相关文章

  1. C#中对象,字符串,dataTable、DataReader、DataSet,对象集合转换成Json字符串方法。

    C#中对象,字符串,dataTable.DataReader.DataSet,对象集合转换成Json字符串方法. public class ConvertJson { #region 私有方法 /// ...

  2. js字符串方法

    字符串方法根据下标返回字符:str.charAt()//传入一个下标返回字符str.charCodeAt();// 传入一个下标获取编码String.formCharCode();//接受编码,编码转 ...

  3. python字符串方法的简单使用

    学习python字符串方法的使用,对书中列举的每种方法都做一个试用,将结果记录,方便以后查询. (1) s.capitalize() ;功能:返回字符串的的副本,并将首字母大写.使用如下: >& ...

  4. 常用js字符串方法学习总结

    2016-06-15 js数组和字符串方法有很多,并且有一部分在使用的过程中有很多方法是很容易被混淆的,今天来总结一下js中数组和字符串的方法. ♦数组(Array)的方法 1.push() 和 po ...

  5. Python 字符串方法详解

    Python 字符串方法详解 本文最初发表于赖勇浩(恋花蝶)的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请保留全文完整,切勿去除本声明和作者信息.        ...

  6. 千万别把js的正则表达式方法和字符串方法搞混淆了

    我们在字符串操作过程中肯定经常用了test() split() replace() match() indexof()等方法,很多人经常把用法写错了,包括我,所以今天细细的整理了下. test()是判 ...

  7. T-SQL切割字符串方法小结

    T-SQL切割字符串方法小结,只有表值函数那个是自己的思想,其它都是来源于网络的思想,请大家不要笑话,嘻嘻~网上大牛太多,这点东西虽然上不了台面,但是也算是自己的一个学习吧,能够对一个人有用也行.再不 ...

  8. js中字符串方法

    字符串方法: 1. charAt(索引值)//通过索引值获取字符串中对应的值 例如: var str='sdf123'; alert(str.charAt(0));//结果弹出第一个索引对应的值:s

  9. JS字符串方法总结整理

    //javascript字符串方法总结   1.String.charAt(n)      //取得字符串中的第n个字符   2.String.charCodeAt(n)  //取得字符串中第n个字符 ...

  10. javascript 字符串方法传参

    javascript 字符串方法传参由于嵌套的单引号,双引号过多.有点混乱.. 正确方法如下: '   <td align="left"><input type= ...

随机推荐

  1. 1.1C++入门 未完待续。。。

    第一个C++程序: #include<iostream> int main() { std::cout << "Hello World !" << ...

  2. JavaScript学习笔记(三十八) 复制属性继承

    复制属性继承(Inheritance by Copying Properties) 让我们看一下另一个继承模式—复制属性继承(inheritance by copying properties).在这 ...

  3. float和double数据类型的声明,转换和计算

    声明时,只要有小数部分float必须加F/f,而double却不用 //float的声明只要有小数部分就要加F,不然会报不能隐式的将double类型转换为float类型. float f1 = 1;/ ...

  4. Mysql 卡死的处理办理

    使用用show processlist 命令进去数据库查 或者用phpMyAdmin查也可以 .

  5. 未能在全局命名空间中找到类型或命名空间名称“Wuqi”

    下载了AspNetPager控件用以进行分页操作,在项目中放入控件后,运行报错:未能在全局命名空间中找到类型或命名空间名称“Wuqi” . 解决办法:在项目下拉框“引用“中添加AspNetPager引 ...

  6. 在jsp页面中使用自定义标签

    在某些场景中,自定义标签可封装大量代码,使页面变得更简洁,标签也可以很方便地在不同页面中实现通用而不必去粘贴大量的js代码.现在把最近做的一个自定义标签在这里总结一下.首先总结一下关于自定义标签的一些 ...

  7. Codeforces 526E Transmitting Levels

    http://codeforces.com/contest/526/problem/E 题意:给一个环,每个点有权值,每次给一个数B,求把这个环切割成若干部分,每个部分不超过B,至少要切成几块? #i ...

  8. 微软开源PowerShell并支持Linux和OS X

    [微软在开源的道路上加速度了] 从一开始的各种对抗,各种通吃,到现在开始做服务,包罗万象.果然,换了主力,大有不同. 微软今天还宣布开源其.NET框架,令.NET Core能在Linux和OS X上运 ...

  9. 【Xamarin开发IOS-IOS生命周期】

    iOS的应用程序的生命周期,还有程序是运行在前台还是后台,应用程序各个状态的变换,这些对于开发者来说都是很重要的. iOS系统的资源是有限的,应用程序在前台和在后台的状态是不一样的.在后台时,程序会受 ...

  10. cv:显示Linux命令运行进度

    cv: 显示 cp.mv 等命令的进度 2014-07-14 By toy Posted in Apps Edit on GitHub 在 Linux 系统中 , 大多数命令从来都是信奉 “ 沉默是金 ...