C#基础篇之字符串
logo.jpg
1.字符串的定义:
String str= "字符串"
2.字符串的连接:
字符串的连接可以用:“ + ”连接
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "你好啊,学习要";
String str2 = "脚踏实地,切勿空谈。";
String str = str1 + str2;
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.WriteLine(str);
Console.ReadKey();
}
}
}

3.字符串的比较:
(1)用“==”返回布尔型:
str1 == str2 若两字符相等,则返回turn;否则返回false。
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "mirikeji";
String str2 = "mirikeji";
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.WriteLine(str1 == str2);
Console.ReadKey();
}
}
}

(2)Compare方法来判断:
String.Compare(str1,str2) 返回1;0;-1
1:表示str1 > str2
0:表示str1 = str2
-1:表示str1 < str2
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "mirikeji";
String str2 = "mirikejz";
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.WriteLine(String.Compare(str1,str1));
Console.WriteLine(String.Compare(str1, str2));
Console.WriteLine(String.Compare(str2, str1));
Console.ReadKey();
}
}
}

(3)CompareTo方法来实现;
Compare是通过实例化对象来实现。
同样返回三个数值来判断字符串的大小。
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "mirikeji";
String str2 = "mirikejz";
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.WriteLine(str1.CompareTo(str2));
Console.WriteLine(str1.CompareTo(str1));
Console.WriteLine(str2.CompareTo(str1));
Console.ReadKey();
}
}
}

(4)Equals方法:
返回turn与false 布尔类型
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "mirikeji";
String str2 = "mirikejz";
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.WriteLine(str1.Equals(str1));
Console.WriteLine(str1.Equals(str2));
Console.WriteLine(str2.Equals(str1));
Console.ReadKey();
}
}
}

4.格式化字符串;
{n}对应后面第n个变量。
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "我学习";
String str2 = "我快乐";
String str = String.Format("{0},{1}", str1, str2);
Console.WriteLine(str);
Console.ReadKey();
}
}
}

5.截取字符串:
Substring(startIndex,length) 方法截取字符。
(1)startIndex:字符串起始位置的索引;
(2)length:截取的字符个数;
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
DateTime date = DateTime.Now;//获取系统的当前日期
String str1 = "我学习我快乐";
String str2 = "";
str2 = str1.Substring(1, 4);
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.ReadKey();
}
}
}

6.分割字符:
Split方法:Split(自定义的分割符数组)
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "我学^习我快乐,在浮躁#的今天,一颗!宁静的心";
char[] sparator = { '^', '#', ',', '!' };//自定义的分割字符数组
String[] str2 = new String[100]; //定义存放的字符
str2 = str1.Split(sparator); //用Split分割字符
Console.WriteLine(str1);
for (int i = 0; i < sparator.Length; i++)
Console.WriteLine("item{0}:{1}",i,str2[i]);
Console.ReadKey();
}
}
}

7.插入字符:
Insert方法:Insert(startIndex,string var)
(1)starIndex:插入字符的起始位置,索引从0开始。
(2)string var:插入的字符串。
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "一颗宁静的心";
String str2 = "我学习我快乐,在浮躁的今天,";
String str3 = str2.Insert(6, str1); //把str1插入到str2成str3
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.WriteLine(str3);
Console.ReadKey();
}
}
}

8.填充字符:
PadLeft:在字符串的左边进行字符的填充。
PadRight:在字符串的右边进行字符的填充。
两个参数:(填充后的长度,填充的字符)
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "*^__^*";
String str2 = str1.PadLeft(7, '(');//在左边填充‘(’
String str3 = str2.PadRight(8, ')');//在右边填充‘)’
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.WriteLine(str3);
Console.ReadKey();
}
}
}

9.删除字符串:
Remove方法:Remove(startIndex,count) 删除指定数量的字符。
(1)startIndex:删除的起始位置。
(2)count:删除的字符数。(缺少count就默认删除到最后。)
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "我是中国人我骄傲";
String str2 = str1.Remove(2,2);//删除“中国”两字
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.ReadKey();
}
}
}

10.复制字符串:
(1)Copy整体复制:
Copy(string var)
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "我是中国人我骄傲";
String str2 = String.Copy(str1);//把str1整体复制到str2
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.ReadKey();
}
}
}

(2)CopyTo部分复制:
CopyTo(起始复制位置,目标字符,开始存放的位置,复制的个数)
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "我是中国人我骄傲";
char[] str2 = new char[100];
str1.CopyTo(2,str2,2,4); //str1部分复制到str2
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.ReadKey();
}
}
}

11.替换字符串:
Replace方法:Replace(旧的字符串,新的字符串)
也可以是单个字符。
using System;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
String str1 = "我是中国人我骄傲";
String str2 = "我学习,我快乐";
String str3 = str1.Replace("我是","你们也是");//你们也是替换我是
Console.WriteLine(str1);
Console.WriteLine(str2);
Console.WriteLine(str3);
Console.ReadKey();
}
}
}

12.可变字符类:
可变字符StringBuilder类存在于System.Text命名空间内,需要导入System.Text命名空间。其定义与使用如下:
(1)Append方法:将字符串追加到对象末尾
(2)AppendFormat:自定义变量的格式追加到对象末尾
(3)Insert:将字符添加到指定位置
(4)Remove:移除指定的数量的字符
(5)Replace:用指定的字符代替原来的字符
using System;
using System.Text;
namespace _5._1
{
class Program
{
static void Main(string[] args)
{
int Num = 1000;
StringBuilder LS = new StringBuilder("用一生下载你", 100);//实例化,并其空间是100
LS.Append("VS 厚德载物");//添加VS 厚德载物
Console.WriteLine(LS);
LS.AppendFormat("{0:C}",Num);//以货币格式追加到末尾
Console.WriteLine(LS);
LS.Insert(0,"名称:");//在第一个字符位置插入名称:
Console.WriteLine(LS);
LS.Remove(15,LS.Length-15);//删除从第15字符位置后的字符
Console.WriteLine(LS);
LS.Replace("名称:","一生所爱");//用"一生所爱"替换"名称:"
Console.WriteLine(LS);
Console.ReadKey();
}
}
}

总结:
在频繁操作一字符时,建议使用StringBuilder类,以节省空间,运行效率也快些。
