1,字符串比较
/// <summary>
/// 字符串比较
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
string str0 = "c#";
string str1 = "C#";
string str2 = "C++";
/*Compare方法
*
* 返回值:--是一个32位有符号整数。
* |--小于零,str1在排序顺序中位于str2之前
* |--等于零,位置相同
* |--大于零
*/
Console.WriteLine(string.Compare(str1, str2));
//Compare方法,忽略大小写(true)
Console.WriteLine(string.Compare(str0, str1, true));
Console.WriteLine(string.Compare(str1, str2, true));
/*CompareTo方法
*
*/
Console.WriteLine(str1.CompareTo(str2));
/*
* Equals方法
*
* 返回值:true/false
*/
Console.WriteLine(str1.Equals(str2));
Console.WriteLine(string.Equals(str1, str2));
Console.ReadLine();
}
2,字符串格式化
/// <summary>
/// 字符串格式化
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
string str0 = "c#";
string str1 = "C#";
string str2 = "C++";
/*Format方法
*/
str0 = string.Format("{0},!{1}!", str1, str2);
Console.WriteLine(str0);
/*Format方法在日期中的应用
*
* 格式规范:
* d YYYY-MM-dd
* D YYYY年MM月dd日
* t hh:mm
* T hh:mm:ss
* f YYYY年MM月dd日 hh:mm
* F YYYY年MM月dd日 hh:mm:ss
* g YYYY-MM-dd日 hh:mm
* G YYYY-MM-dd日 hh:mm:ss
* M/m MM月dd日
* Y/y YYYY年MM月
*/
DateTime dt = DateTime.Now;
string str3 = string.Format("{0:D}", dt);//D是对{0}的规范。
Console.WriteLine(str3);
Console.ReadLine();
}
3,字符串分割
/// <summary>
/// 字符串分割
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
string str0 = "c#,哦《C++》啊,c语言";
/*Split方法
*/
char[] separater = { ',','》' };//声明分割字符的数组
string[] str_split = new string[100];//声明一个字符串数组
str_split = str0.Split(separater);
for(int i=0; i<str_split.Length; i++){
Console.WriteLine("项{0}:{1}",i,str_split[i]);
}
Console.ReadLine();
}
4,字符串插入和填充
/// <summary>
/// 字符串插入和填充
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
string str0 = "c#,c语言";
/*插入:Insert方法
*/
string str1 = str0.Insert(4, "JAVA,");
Console.WriteLine(str1);
/*填充:PadLeft(A,B)方法、PadRight(A,B)方法
* A为结果字符串中的字符数,等于原始字符串数加上其他填充字符
* B为填充字符
*/
string str2 = "C";
str2 = str2.PadLeft(6, '+');
Console.WriteLine(str2);
str2 = str2.PadRight(9, '#');
Console.WriteLine(str2);
Console.ReadLine();
}
5,字符串删除
/// <summary>
/// 字符串删除
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
string str0 = "c#,c语言";
/*Remove方法
*/
//从索引2开始删除后面。
string str1 = str0.Remove(2);
//从索引2开始,只删除2各字符
string str2 = str0.Remove(3, 2);
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.ReadLine();
}
6,字符串复制
/// <summary>
/// 字符串复制
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
string str0 = "c#,c语言";
/*Copy方法
*/
string str1 = string.Copy(str0);
Console.WriteLine(str1);
/*CopyTo方法
*
* 将字符串部分复制到一个数组中
*/
char[] c = new char[100];
/*(需要复制的字符串起始位置, 目标字符串数组,指定目标数组中开始存放位置,需要复制的字符数)
*/
str1.CopyTo(2,c,2,4);
Console.WriteLine(c);
Console.ReadLine();
}
7,字符串替换
/// <summary>
/// 字符串替换
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
string str0 = "c#,c语言";
/*Replace方法
*/
string str1 = str0.Replace("#","++");
Console.WriteLine(str1);
Console.ReadLine();
}
8,可变字符串:StringBuilder
0)构造函数参数:
capacity--------起始大小;
value------------字符串;
maxCapacity--可包含最大字符数;
startIndex-------value字符串开始位置;
length------------子字符串中的字符数
1)追加
Append、AppendFormat
2)移除
Remove
3)替换
Replace
4)插入
Insert
5)增加容量
Capacity 、EnsureCapacity
6)与String对比:
string对象系统开销很大,用StringBuilder类可提升性能(类似JAVA中的StringBuffer)。