摘自《传智播客.net课件》c#的字符串的处理

  字符串基础 C# 中单个字符用单引号包含就是 char 类型,( 'a' ),单引号中放且只能放一个字符。单个字符也可以表示为字符串,还可以有长度为 0 的字符串使用 s.Length 属性来获得字符串中的字符个数
  string 可以看做是 char 的只读数组。 char c = s[1]; 。例子:遍历输出 string 中的每个元素。
  C# 中字符串有一个重要的特性: 不可变性 ,字符串一旦声明就 不再可以改变。所以只能通过索引来读取指定位置的 char ,不能 对指定位置的 char 进行修改。
  如果要对 char 进行修改,那么就必须创建一个新的字符串,用 s. ToCharArray () 方法得到字符串的 char 数组,对数组进行修改后 ,调用 new string(char[]) 这个构造函数(暂时不用细研究)来创建char 数组的字符串。一旦字符串被创建,那么char 数组的修改 也不会造成字符串的变化。例子:将字符串中的 A 替换为 a 。
  谁说字符串不可变? string s = "abc";s="123" , s 这不是变了吗
  要区分变量名和变量指向的值的区别。程序中可以有很多字符串,然后由字符串变量指向他们,变量可以指向其他的字符串,但是字符串本身没有变化。字符串不可变性指的是内存中的字符串不可变,而不是变量不变。
  string s10 = s1;//s10 指向 s1 指向的字符串,而不是 s10 指向 s1 ,哪怕 s1以后指向了其他内存,那么 s10 还是指向 "hello"
  字符串的常用函数 ToLower() :得到字符串的小写形式。
  注意字符串是不可变的,所以这些函数都不会直接改变字
  符串的内容,而是把修改后的字符串的值通过函数返回值
  的形式返回。 s.ToLower() 与 s=s.ToLower()
  ToUpper() :得到字符串的大写形式; Trim() 去掉字符串两
  端的空白。
  s1.Equals(s2, StringComparison.OrdinalIgnoreCase) ,两
  个字符串进行比区分大小写的比较。
  字符串的分割 string[] Split(params char[] separator) :将字符串按照指定的分割符分
  割为字符串数组;
  string[] Split(char[] separator, StringSplitOptions options) 将字符串按照
  指定的 char 分割符分割为字符串数组( options 取RemoveEmptyEntries 的时候移除结果中的空白字符串);
  string[] Split(string[] separator, StringSplitOptions options) 将字符串按
  照指定的 string 分割符分割为字符串数组。
  例子 1 :从日期字符串( "2008-08-08" )中分析出年、月、日; 2008 年
  08 月 08 日。
  例子 2 :从一个记录了学生成绩的文本文档,每个学生成绩是一行,每
  行是用 | 分割的数据,用 | 分割的域分别是姓名、年龄、成绩,写程序取
  出成绩最高学生的姓名和成绩。参考:使用 string[] lines =System.IO.File.ReadAllLines(@"c:\root.ini" , Encoding.Default ); 从文本文件读取数据,返回值为 string 数组,每个元素是一行。
  字符串替换: string Replace(string oldValue, string newValue )
  将字符串中的出现 oldValue 的地方替换为 newValue 。 例子:名
  字替换。
  取子字符串: string Substring(int startIndex) ,取从位置
  startIndex 开始一直到最后的子字符串;
  string Substring(int startIndex, int length) ,取从位置 startIndex
  开始长度为 length 的子字符串,如果子字符串的长度不足 length
  则 报错。
  bool Contains(string value) 判断字符串中是否含有子串 value
  bool StartsWith(string value) 判断字符串是否以子串 value 开始;
  bool EndsWith (string value) 判断字符串是否以子串 value 结束;
  int IndexOf(string value) : 取子串 value 第一次出现的位置。

你可能感兴趣的:(技术杂绘)