C# 十二、字符串的基本操作

String类

官方摘要: 将文本表示为 UTF-16 代码单元的序列。 若要浏览此类型的 .NET Framework 源代码,请参阅引用源。

Join

官方摘要:串联数组的所有元素,其中在每个元素之间使用指定的分隔符。

简单理解:数组转字符串。

返回结果:一个由数组中的元素组成的字符串。

代码示例:

string[] strArray = { "aa", "bb", "cc" };
string str = string.Join(",", strArray);

Console.WriteLine(str);

--->
aa,bb,cc

Split

官方摘要:基于数组中的字符将字符串拆分为多个子字符串。

简单理解:字符串转数组。

返回结果:一个数组,其元素包含此实例中的子字符串。 

代码示例:

string s = "aa,bb,cc";
string[] strArray = s.Split(',') ;

foreach (var item in strArray)
{
    Console.WriteLine(item);
}

--->
aa
bb
cc

Empty

官方摘要:表示空字符串。 此字段为只读。

简单理解:清空字符串。

代码示例:

string s = "ABcde_12345";

s = string.Empty;

Console.WriteLine(s);

--->(输出为空)

Length

官方摘要:获取当前 System.String 对象中的字符数。

简单理解:获取字符串中字符数。

返回结果:当前字符串中字符的数量。

代码示例:

 string s = "ABcde_12345 ";

Console.WriteLine(s.Length); ---> 12(空格占一个字符)

Compare

官方摘要:比较两个指定的 System.String 对象(其中忽略或考虑其大小写),并返回一个整数,指示二者在排序顺序中的相对位置。

简单理解:比较字符串。

返回结果:根据比较结果返回:1/0/-1。

代码示例:(更多重载,不一一列出)

string s1 = "ABcde_12345";
string s2 = "aBcde_12345";
            
Console.WriteLine(string.Compare(s1, s2, false)); ---> 1 

Concat

官方摘要:连接 System.String 的n个指定实例。

简单理解:串联字符串。

返回结果:串联后的字符串。

代码示例:(更多重载,不一一列出)

string s1 = "ABcde";
string s2 = "_12345";
string s3 = string.Concat(s1, s2);
Console.WriteLine(s3);

--->
ABcde_12345

Copy

官方摘要:创建一个与指定的 System.String 具有相同值的 System.String 的新实例。

简单理解:复制字符串。

返回结果:值与 str 相同的新字符串。

代码示例:

string s1 = "ABcde";
string s2 = string.Copy(s1);         

Console.WriteLine(s2);

--->
ABcde

Equals

官方摘要:确定两个指定的 System.String 对象是否具有相同的值。

简单理解:比较字符串是否相同。

返回结果:如果 b 的值与 a 的值相同,则为 true;否则为 false。 如果 a 和 b 均为 null,此方法将返回 true。

代码示例:(更多重载,不一一列出)

string s1 = "ABcde";
string s2 = "abcde";         

Console.WriteLine(string.Equals(s1,s2));

--->
False

Format

官方摘要:将指定字符串中的一个或多个格式项替换为指定对象的字符串表示形式。

简单理解:对输出内容进行格式设置。

返回结果:format 的副本,其中的任何格式项均替换为 arg0 的字符串表示形式。/设置好格式的输出。

代码示例:(更多重载/格式,不一一列出)

 string s = string.Format("{0:C3}", 2);
Console.WriteLine(s);

--->
¥2.000

IsNullOrEmpty

官方摘要:指示指定的字符串是 null 还是 System.String.Empty 字符串。

简单理解:判断字符串是否为空。

返回结果:如果 value 参数为 null 或空字符串 (""),则为 true;否则为 false。

代码示例:

string s = "";

Console.WriteLine(string.IsNullOrEmpty(s));

--->
True

IsNullOrWhiteSpace

官方摘要:指示指定的字符串是 null、空还是仅由空白字符组成。

简单理解:判断字符串是否为空或只包含空格。

返回结果:如果value 参数为 null 或 空字符串 (""),或者如果 System.String.Empty 仅由空白字符组成,则为 true。

代码示例:

string s = "   ";

Console.WriteLine(string.IsNullOrWhiteSpace(s));

--->
True

Clone

官方摘要:返回对此 System.String 实例的引用。

简单理解:复制实例。

返回结果:此 System.String 实例。

代码示例:

string s1 = "abc";

string s2 = s1.Clone().ToString();

Console.WriteLine(s2);

--->
abc

CompareTo

官方摘要:将此实例与指定的 System.Object/System.String 进行比较,并指示此实例在排序顺序中是位于指定的 System.Object 之前、之后还是与其出现在同一位置。

简单理解:比较字符串。

返回结果:比较结果1/0/-1。

代码示例:

string s1 = "abc";

string s2 = "ABC";

Console.WriteLine(s1.CompareTo(s2));

--->
-1

Contains

官方摘要:返回一个值,该值指示指定的子串是否出现在此字符串中。

简单理解:判断字符串中是否包含指定内容。

返回结果:包含则为 true ;否则为 false。

代码示例:

string s = "abc";

Console.WriteLine(s.Contains("ab"));

--->
True

CopyTo

官方摘要:将指定数目的字符从此实例中的指定位置复制到 Unicode 字符数组中的指定位置。

简单理解:将字符串中指定字串复制到字符数组

代码示例:

string s = "abc123";
char[] ch = new char[3];
s.CopyTo(1, ch, 0,3);

foreach (var item in ch)
{
    onsole.WriteLine(item);
}

--->
b
c
1

EndsWith

官方摘要:确定此字符串实例的结尾是否与指定的字符串匹配。

简单理解:判断字符串末尾是否与另一字符串相同。

返回结果:如果 value 与此实例的末尾匹配,则为true ;否则为 false。

代码示例:(更多重载/格式,不一一列出)

string s = "abc123";

Console.WriteLine(s.EndsWith("123"));

--->
True

Equals

官方摘要:确定此实例是否与另一个指定的 System.String 对象具有相同的值。

简单理解:判断字符串是否相同。

返回结果:如果值相同,则为 true;否则为 false。 如果参数为 null,则此方法返回 false。

代码示例:(更多重载/格式,不一一列出)

string s = "abc123";

Console.WriteLine(s.Equals("abc123"));

--->
True

IndexOf

官方摘要:指定字符在此实例中的索引。

简单理解:查找字符串变量中指定字符或字符串出现的位置。

返回结果:如果找到该字符,则为从字符串的起始位置开始的 value 从零开始的索引位置;否则为 -1。

代码示例:(更多重载/格式,不一一列出)

 string s = "abcdef";

Console.WriteLine(s.IndexOf("cd"));

--->
2

IndexOfAny

官方摘要:报告指定 Unicode 字符数组中的任意字符在此实例中第一个匹配项的从零开始的索引。

简单理解:判断字符串中是否包含某字符数组中任意元素。

返回结果:在此实例中第一次找到 anyOf 中的任意字符的索引位置(从零开始);如果未找到 anyOf 中的字符,则为 -1。

代码示例:(更多重载/格式,不一一列出)

char[] c = { 'a', 'b', 'c' };
string s = "111aaadef";

Console.WriteLine(s.IndexOfAny(c,0,5));

--->
3

Insert

官方摘要:返回一个新的字符串,在此实例中的指定的索引位置插入指定的字符串。

简单理解:插入子串。

返回结果:与此实例等效的一个新字符串,但在该字符串的对应位置处插入了字串。

代码示例:

string s = "abf";

Console.WriteLine(s.Insert(2,"cde"));

--->
abcdef

LastIndexOf

官方摘要:报告指定字符串在此实例中的最后一个匹配项的从零开始的索引的位置。

简单理解:反向查找子串。

返回结果:如果找到该字符串,则为参数的从零开始的起始索引位置;如果未找到该字符串或当前实例等于 System.String.Empty,则为 -1。
如果要搜寻的字符串为 System.String.Empty,则返回值为 startIndex 和此实例中的最后一个索引位置中的较小者。

代码示例:

string s = "abcdef";

Console.WriteLine(s.LastIndexOf("de"));

--->
3

LastIndexOfAny

官方摘要:报告在 Unicode 数组中指定的一个或多个字符在此实例中的最后一个匹配项的从零开始的索引的位置。

简单理解:反向判断字符串中是否包含某字符数组中任意元素。

返回结果:最后一次在此实例中找到 anyOf 中的任意字符的索引位置;如果未找到 anyOf 中的字符,则为 -1。

代码示例:

char[] c = { 'a', 'b', 'c' };
string s = "ABCabc";

Console.WriteLine(s.LastIndexOfAny(c,5,1));

--->
5

Remove

官方摘要:返回指定数量字符在当前这个实例起始点在已删除的指定的位置的新字符串。

简单理解:删除子串。

返回结果:一个新字符串,除所删除的字符之外,该字符串与此实例等效。

代码示例:

string s = "abcdef";

Console.WriteLine(s.Remove(3,3));

--->
abc

Replace

官方摘要:返回一个新字符串,其中当前实例中出现的所有指定字符串/字符都替换为另一个指定的字符串/字符。

简单理解:替换子串。

返回结果:等效于当前字符串(除了已替换的子串)的字符串。 如果在当前实例中找不到被替换子串,此方法返回未更改的当前实例。

代码示例:

string s = "abc";

Console.WriteLine(s.Replace("a","A"));

--->
Abc

StartsWith

官方摘要:确定此字符串实例的开头是否与指定的字符串匹配。

简单理解:对比字符串开头是否与某字符串相同。

返回结果:如果字符串开头与指定字符串匹配,则为 true;否则为 false。

代码示例:

string s = "abc";

Console.WriteLine(s.StartsWith("a"));

--->
True

Substring

官方摘要:从此实例检索子字符串。 子字符串从指定的字符位置开始且具有指定的长度。

简单理解:提取子串。

返回结果:根据条件提取到的子串。

代码示例:

string s = "abc";

Console.WriteLine(s.Substring(0,2));

--->
ab

ToCharArray

官方摘要:将此实例中的指定子字符串内的字符复制到 Unicode 字符数组。

简单理解:将字符串指定字符复制到字符数组。

返回结果:获取复制字符后的字符数组。

代码示例:

string s = "abc";
char[]c = s.ToCharArray(0,3);

foreach (var item in c)
{
    Console.WriteLine(item);
}

--->
a
b
c

ToLower

官方摘要:返回此字符串转换为小写形式的副本。

简单理解:将字符串大写转换成小写。

返回结果:一个小写字符串。

代码示例:

string s = "aBc";
Console.WriteLine(s.ToLower());

--->
abc

ToUpper

官方摘要:返回此字符串转换为大写形式的副本。

简单理解:将字符串小写转换成大写。

返回结果:当前字符串的大写形式。

代码示例:

string s = "aBc";
Console.WriteLine(s.ToUpper());

--->
ABC

Trim

官方摘要:从当前 System.String 对象移除所有前导空白字符和尾部空白字符。

简单理解:去除字符串两端空格。

返回结果:从当前字符串的开头和结尾删除所有空白字符后剩余的字符串。 如果从当前实例无法删除字符,此方法返回未更改的当前实例。

代码示例:

string s1 = "   abc   ";
string s2 = "   abc   ";
Console.WriteLine(s1);
Console.WriteLine(s2.Trim());

--->
   abc   
abc

TrimEnd

官方摘要:从当前 System.String 对象移除所有尾部空白字符。

简单理解:去除字符串后端空格。

返回结果:去除字符串后端空格后的字符串。

代码示例:

string s1 = "   abc   ";
string s2 = "   abc   ";
Console.WriteLine(s1);
Console.WriteLine(s2.TrimEnd());

--->
   abc   
   abc

TrimStart

官方摘要:从当前 System.String 对象移除所有前导空白字符。

简单理解:去除字符串前端空格。

返回结果:去除字符串前端空格后的字符串。

代码示例:

string s1 = "   abc   ";
string s2 = "   abc   ";
Console.WriteLine(s1);
Console.WriteLine(s2.TrimStart());

--->
   abc   
abc

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值