美文网首页程序员
c#之字符串处理

c#之字符串处理

作者: 赤色黎明_9970 | 来源:发表于2018-11-30 22:11 被阅读6次

字符串大家都不陌生,今天就来说一下字符串的几种处理方式

字符串的创建:

1.使用String s=""的方式

2.使用字符串的构造方法

3.Copy

4.Clone的方式

示例:

String s = "abc";

String s = new String("fgh".ToCharArray());

String copyS = String.Copy(s);

String newS = s.Clone() as String;

字符串的特性:


String类用来比较两个字符串、查找和抽取串中的字符或子串。

string可以看做是char的只读数组。

C#中字符串有一个重要的特性:不可变性,字符串一旦声明就不再可以改变。

注意:对该类对象的任何操作都将返回一个新的字符串对象 除了Clone Clone直接将该字符串的引用返回了

示例:

String s1 = "a";

String s2 = s1 + "b";

Console.WriteLine(Object.ReferenceEquals (s1,s2));

谁说字符串不可变?string s = "abc";s="123“;,s这不是变了吗?

要区分变量名和变量指向的值的区别。程序中可以有很多字符串,然后由字符串变量指向他们,变量可以指向其他的字符串,但是字符串本身没有变化。字符串不可变性指的是内存中的字符串不可变,而不是变量不变。

string s10 = s;//s10指向s指向的字符串,而不是s10指向s,哪怕s以后指向了其他内存,那么s10还是指向从前s指向的字符串。

字符串的遍历:

字符串是一个字符数组

所以可以用遍历数组的方式遍历字符串的每一个位子的字符

示例:

String s1 = "123456";

for (int i=0;i<s1.Length;i++)

{

Console.WriteLine(s1[i]);

}

注意:

字符串中的字符位置和数组一样从下标0开始。

字符串和数组一样有Length属性。

字符串和数组一样可以按索引的方式访问。

字符串的大小写转换:

ToLower 方法 (字符串变为小写)

ToUpper 方法(字符串变为大写)

一般用于不区分大小写比较

举个例子:

通过这个方法,假如两位同学喜欢同一款游戏但输入时字母大小写不一致也可以返回相同的游戏名。

字符串的截取:

Substring 方法   

Substring(Int32 s)  (从当前索引位置s开始一直到末尾) .

Substring(Int32 s, Int length)(从当前索引位置s开始一直要求的长度length).

注意: 索引是从零开始的。

例子:

SubstringTest("as123jhhj5gh7"); //从当前索引位置开始一直到末尾 

结果为:

字符串的切割:

Split(重载的参数列表)

用于将字符串按某字符或者某字符串进行分割

例子:

当我们的文本文件中存储了多个文章标题、作者,标题和作者之间用若干空格(数量不定)隔开,每行一个,标题有的长有的短,输出到控制台的时候最多标题长度10,如果超过10,则截取长度8的子串并且最后添加“...”,加一个竖线后输出作者的名字。

如上所示

字符串的替换:

Replace 方法

示例:   屏蔽掉敏感词汇 

当玩家玩游戏想在公屏里骂人时。会出现“*****”字样,这是怎么回事呢?

如下图所示


显示结果

字符串的查询:

IndexOf 方法

LastIndexOf 方法

StartsWith 方法    判断以什么作为开头。

EndsWith 方法     判断以什么作为结尾。

实例

字符串内的字符排序(只按字母序不论大小写)

如图

如何判断一个字符串是否为另一个字符串的子串

如何验证一个字符串中的每一个字符均在另一个字符串中出现过

根据完整的路径从路径中分离文件路径、文件名及扩展名

 例:"c:\dir1\1.txt"=>"c:\dir1" "1" ".txt"

接收用户输入的字符串,将其中的字符进行排序(升序),并以逆序的顺序输出,“cabed”→"abcde"→“edcba”。

相关文章

  • c#之字符串处理

    字符串大家都不陌生,今天就来说一下字符串的几种处理方式 字符串的创建: 1.使用String s=""的方式 2....

  • c/c++常用代码之四爆炸输出,jason(纯干货)

    常用代码之四:创建jason,jason转换为字符串,字符串转换回jason,c#反序列化jason字符串的几个代...

  • Unity优化——字符串篇

    处理字符串和文本是Unity项目中性能问题的常见来源。在C#中,所有的字符串都是不可变的。对字符串的任何操作都将导...

  • C#字符串比较方法

    C#字符串比较方法 用C#比较字符串有多种方法,如: string.Compare(x,y); string.Eq...

  • Unity 学习,C#基础学习

    包含,C#字符串,枚举,集合,数组以及类,属性的设置 C#基本数据类型代码一:字符串!using UnityEng...

  • C# 中字符串转换成日期

    我们在处理字符串日期格式常用DateTime.Pares() 但是这个形式的转换是相当有限的,有些C#是会不懂你写...

  • unity里利用C# 读写XML

    在开发中,我们经常有遇到要处理大量字符串的情况,这时候XML就起到了非常重要的作用。C# 中是如何处理XML的呢,...

  • 判断为空

    C# 字符串为空 数组为空

  • 自定义异常

    ASP.NET MVC自定义异常处理 C#结构化异常之自定义异常 在C#中所有的异常类型都继承自System.Ex...

  • C#之异常处理

    1.什么是异常? 异常实际上是程序中错误导致中断了正常的指令流的一种事件. 2.异常处理的优点: 观察前面的程序你...

网友评论

    本文标题:c#之字符串处理

    本文链接:https://www.haomeiwen.com/subject/jhsccqtx.html