C#学习笔记(五)——字符串

5.1 字符串的声明和初始化

  • 字符串必须包括在一对双引号之间(" ")
  • 单个字符在作为参数时可以使用单引号

5.1.1 字符串的声明

string stringName; 					//声明格式
string str="我想去海边";			//声明并且赋值

5.1.2 字符串的初始化

  1. 如上方法,也可以先声明,再单独赋值。
  2. 利用字符数组。
char[] charArray={'t','i','m','e'};
string str=new string(charArray);

3.提取字符数组中个某几个元素。

string str=new string(charArray,3,1)			//提取第四个和第二个字符

5.2 提取字符串信息

5.2.1 获取长度

采用length方法。

int size= str.length;

5.2.2 获取指定位置的字符

将字符串视作数组,用char变量进行迭代。

char chr=str[5];

5.2.3 获取子字符串的索引位置

  • IndexOf方法
    搜索字符串/字符第一次出现的位置。
    ~格式:
public int IndexOf(string value,int startIndex,int count);			//格式
public int IndexOf(char value,int startIndex,int count);			//格式
string str="you are young.";			//定义字符串变量
int size=str.IndexOf('e');				//返回e第一次出现的位置

value为要搜素的字符串,startIndex为搜索的起始位置,count为长度。找到时返回位置,没找到返回-1。

  • LastIndexOf方法
    与IndexOf作用相反,返回最后一次出现的位置,其他用法相同。

5.2.4 判断字符串守卫内容

  • StartsWith方法
    判断字符串是否以某个字符或者字符串作为开头。
public bool StartWith(string value);
public bool StartWith(string value,bool ignoreCase,CultureInfo culture);//格式
string str="今年一定要赚钱!";
bool result=str.StartWith("今年");

value为要搜索的字符串。
ignoreCase为一个bool值,设定为true时忽略大小写。
culture为CultureInfo对象,确定如何对字符串与value进行区域性信息,为null则使用当前区域性。(@疑问留存)
返回值为true/false。

  • EndsWith方法
    判断字符串是否以某个字符或者字符串作为结尾。
    使用方法同上。

5.3 字符串操作

5.3.1 字符串拼接

用加号“+”连接即可。

string s=s1+s2;
string ss="今天不想"+"上班";

5.3.2 字符串比较

  1. 使用“==”判断。结果返回true or false。
  2. Equals方法。
public bool Equals(string value)									//格式
public static bool Equals(string A, string B)					//格式
if(password.Equals("woshinidie"));								//示例

5.3.3 字符串大小写转换

  • 格式:
public string ToUpper()
public string ToLower()
  • 示例:
string str="livE";
Console.WriteLine(str.ToUpper());
Console.WriteLine(str.ToLower());

5.3.4 格式化字符串

  • 格式:
public static string Format(string format, Object arg0)
public static string Format(string format, params Object[] args)

format用于指定要转化的格式,用法如下:
{index[,length][:formatString]}
index指示位置。
length表示包含的最小字符数。该值为负时左对齐,为正时右对齐。
formatString表示要设置的格式。

arg0:要设置的对象。
arg:对象数组。
返回值:格式化以后的字符串。

  • 数值类型的数据格式化
格式说明符名称
C或c货币(¥)
D或ddecimal
E或e科学计数法
N或nnumber
P或p百分比
X或x十六进制

~示例:

string.Format("π取两位小数是:{0:F2}",Math.PI);
//输出结果为3.14
  • 日期时间类型的格式化
格式说明符举例
dYYYY-MM-DD
DYYYY年MM月DD日
fYYYY年MM月DD日 hh:mm
FYYYY年MM月DD日 hh:mm:ss
gYYYY-MM-DD hh:mm
GYYYY-MM-DD hh:mm:ss
M或mMM月DD日
thh:mm
Thh:mm:ss
Y或yYYYY年MM月

~示例:

DateTime strDate=DateTime.Now;					//获取当前时间
string.Format("当前日期的短时间格式表示:{0:d}",strDate);
//输出结果为2017/6/12

5.4.5 截取字符串

  • Substring方法
    可以截取指定位置和指定长度的子字符串。
    使用形式:
public string Substring(int startIndex)
public string Substring(int startIndex,int length)

startIndex:子字符串的起始位置。
length:子字符串的长度。

~示例:

string strFile="Program.cs";
string stringFileName=strFile.Substring(0,strFile.IndexOf('.'));

5.4.6 分割字符串

  • Split方法
    使用形式:
public string[] Split(string[] separator,int count,StringSplitOptions options)
public string[] Split(char[] separator,int count,StringSplitOptions options)

separator:分割的字符数组或者字符串。
count:返回的字符串最大数量。
options:忽略要返回的数组中的空数组元素,则设置为RemoveEmptyEntries;要包含时则为None。

5.4.7 去除空白内容

  • Trim方法
    删除从当前字符的开头到结尾的所有空白字符。
  • 使用格式
public string Trim()
  • 示例:
string str="            abc             "
string shortStr=str.Trim();
//shortStr="abc"

也可以删除指定位置的字符。将要删除的字符设置成一个字符数组,作为Trim的参数。

5.4.8 替换字符串

  • Replace方法:
public string Replace(char OChar,char NChar)
public string Replace(string OValue,string NValue)         //O表示old,N为new
  • 示例:
string strOld="one world.";
string strNew=strOld.Replace("ONE","one");

5.5 StringBuilder

5.5.1 Definition

  • 位于System.Text的命名空间中,需要引用。
  • 构造方法:
public StringBuilder()
public StringBuilder(int capacity)
public StringBuilder(string value)
public StringBuilder(int capacity,int maxCapacity)
public StringBuilder(string value,int capacity)
public StringBuilder(string value,int startIndex,int length,int capacity)

capacity:StringBuilder对象的建议起始大小。
maxCapacity:当前字符串可包含的最大字符数。
startIndex:value字符串开始的位置。
length:子字符串中的字符数。

  • 示例:
    StringBuilder MyStringBuilder=new StringBuilder(“Hello world!”);

5.5.2 StringBuilder类的使用

方法说明
Append在字符串后加上
AppendFormat自定义变量的格式并追加到末尾
Insert插入到指定位置
Remove移除指定数量的字符
Replace替换内容
  • 示例
            int Num = 368;                      //声明一个int类型变量Num并初始化为368
            //实例化一个StringBuilder类,并初始化为“明日科技”
            StringBuilder SBuilder = new StringBuilder("明日科技");
            SBuilder.Append("》C#编程词典");     //使用Append方法将字符串追加到SBuilder的末尾
            Console.WriteLine(SBuilder);        //输出SBuilder
            //使用AppendFormat方法将字符串按照指定的格式追加到SBuilder的末尾
            SBuilder.AppendFormat("{0:C0}", Num);
            Console.WriteLine(SBuilder);        //输出SBuilder
            SBuilder.Insert(0, "软件:");      //使用Insert方法将“软件:”追加到SBuilder的开头
            Console.WriteLine(SBuilder);        //输出SBuilder
            //使用Remove方法从SBuilder中删除索引14以后的字符串
            SBuilder.Remove(14, SBuilder.Length - 14);
            Console.WriteLine(SBuilder);        //输出SBuilder
            //使用Replace方法将“软件:”替换成“软件工程师必备”
            SBuilder.Replace("软件", "软件工程师必备");
            Console.WriteLine(SBuilder);        //输出SBuilder
            Console.ReadLine();
  • 与string类的区别
    StringBuiler在创建后可以被不停更改,动态占用空间。
    而string类在创建后不可再被修改,要添加或是删除,只能是新建一个字符串,重新申请内存空间。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值