字符串、String类和StringBuilder类
字符串是字符的序列,它可以包括字母、数字和其他符号。每个产生的字符串都是String类的一个对象。
String类:其对象是不变的。对其对象的改变是对其副本的改变。
常用String类方法:最常用的有三个:找到字符串的子串;确定字符串的长度;确定字符在字符串中的位置。
确定字符串的长度:属性Length;
确定字符在字符串中的位置:方法IndexOf(),取走一个字符,并返回此字符所在的位置,如果找不到则返回-1;
找到字符串的子串:方法SubString(),两个参数:一个开始位置,一个要抽出的字符的数量。
Split方法和join方法
Split方法:分解字符串。把一个字符串分解成一系列片段,并把这些片段放入一个String数组中。此方法的实现集中在用来确定分解字符串位置的分离字符上。使用Split方法可以指定要寻找的分隔符的内容。
参数:第一个参数:分隔符必须以char型数组形式出现,而数组的一个元素将是用作分隔符的字符;第二个参数:即要存储在数组中的元素的数量。
代码:
string
data =
"Mike,McMillan,3000 W.Scenic,North Little Rock,AR,72118"
;
string
[] sdata;
char
[] delimiter =
new
char
[] {
','
};
sdata = data.Split(delimiter,sdata.Length);
foreach
(
string
item
in
sdata)
{
Console
.WriteLine(item +
" "
);
}
结果:
如果把Split方法的第二个参数换成2,则有以下结果:
明白这一用法了吗?
join方法:把存储在数组中的数据制作成字符串。有两个参数:第一个:原始数组;第二个:用来分隔元素的字符。
代码:
string
joined;
joined =
String
.Join(
","
, sdata);
Console
.WriteLine(joined);
此方法使用string类进行调用的,而不是string类的实例来调用的。也就是说Join方法是静态方法。
逗号分隔值串(逗号分隔),简称CSVs:用逗号分隔的数据串。
比较字符串的方法:
- Equal():由一个string对象调用,另一个string对象作为他的参数,如果两个字符串相等,返回true,否则返回false。
- CompareTo():由一个string对象调用,另一个string对象作为他的参数,如果两个字符串相等,返回0;如果传入的字符串“低于”调用方法的字符串,返回-1;如果传入的字符串“高于”调用方法的字符串,返回1.
- Compare():类方法。功能类似于CompareTo()。
- SratsWith()和EndsWith():检查字符串是否是以指定的字符串开始或结束的。参数是需要检查的字符串
处理字符串的方法:
- Insert():把某个字符串插入到另一个字符串的指定位置。返回新的字符串。
参数:插入的位置、待插入的字符串; - Romove():从指定位置处移除指定数量的字符。
参数:开始位置、字符数量计数器; - Replace():用新的字符串代替原来的字符串。
参数:要移除的字符串、用来替换的字符串; - PadLelt()和PadRight():在指定字符宽度区域内左(或右)对齐字符串。PadLeft()方法是在字符串的左侧填充空格,PadRight()是在右侧填充空格。由字符串对象进行调用。
参数:指定的字符宽度; - Concat():类方法。将字符串进行串联在一起。作用类似于"&"。
参数:需要串联的字符串1、分隔符、需要串联的字符串2; - ToLower()和ToUpper():转换大小写
- Trim()和TrimEnd():Trim()移除字符串开头指定的字符,TrimEnd()移除字符串末尾指定的字符。
StringBuilder类:其对象是可以变化的。当对StringBuilder对象进行改变时,正在改变的就是原始对象,而不是对副本的改变。
存在于System.Text名字域中。
构造:
- 默认构造:
StringBuilder stBuff1 = new Stringbuilder();
此对象可保存默认长度为16 个字符的字符串。 - 指定字符长度的构造:
StringBuilder stBuff2 = new StringBuilder(25); - 用字符串构造:
StringBuilder stBuff3 = new StringBuilder("Hello world!");
如果字符串长度超多16,则自动翻倍。
属性:
- Length:返回当前实例中的字符数,但也可以设置Stringbuilder对象的当前长度;
- Capacity:当前实例的容量;
- MaxCapacity:返回对象当前实例中所允许的最大字符数(这个数字会变化,因为StringBuilder是变化的);
- Chars:获取或设置此实例中指定位置处的字符
方法:
- Append():在对象末尾处添加字符。
参数:字符串。 - AppendFormat():为对象添加格式字符串。格式说明用一对大括号括着嵌入到文字串中。
如:stBuff.AppendFormat("Your order is for {0000} widgets",234); - Insert():向当前对象插入字符串。
参数:插入开始的位置、要插入的字符串、插入的次数【可选项】 - Remove():把字从对象中移除。
参数:开始位置、要移除的字符数。 - Replace():替换原来的字符串。
参数:要替换的旧字符串、新字符串。 - ToString():转换成string类型。