C#中的字符与字符串
Char
- Char在C#中表示一个Unicode字符,正是这些Unicode字符构成了字符串。Unicode字符是目前计算机通用的字符编码,它为针对不同的语言的每个字符设定了统一的二进制编码,用于满足跨语言,跨平台的文本转换,处理的要求。Char只能定义一个Unicode字符。
Char常用方法:
- 【Is开头的方法大多是判断Unicode字符是否为某个类别】
- 【To开头的方法主要是转换为其他Unicode字符。】
例判断Unicode字符:
char c = '1';Console.WriteLine(char.IsLett er(c));Console.ReadKey();
以上代码会显示false,因为根据上图char的常用方法IsLetter是是否是字母的意思
转义字符:
- C#采用字符”\”作为转义字符
char c = '\n';Console.WriteLine("输入内容\n,哈哈哈");Console.WriteLine(char.IsSeparator(c));Console.ReadKey();
显示为:
复制链接到代码中转译字符报错的话就直接在地址前面加@ 就如qq邮箱
String字符串
字符串的关键字为string:
- 它是String类的别名。string类型表示Unicode字符的字符串。String类类似于string类型,但是功能更强。虽然String类功能很强,但是它也是不可改变的。这就是说一旦创建String对象,就不能够修改。表面看来能够修改字符串的所有方法,实际上不能够修改。它们实际上返回一个根据所调用的方法修改的新的String。当需要大量的修改时,可使用StringBuilder类。
比较字符串:
- 比较字符串并非比较字符串长度的大小,而是比较字符串在英文字典中的位置。比较字符串按照字典排序的规则,判断;两个字符串的大小。在英文字典中,前面的单词小于后面的单词。
compareTo:
- 方法用来比较两个字符是否相等,不同的是Compare 方法以实例对象本身与指定的字符串比较
- 0代表位置相等,-1代表前者的位置比后者的位置靠后,1代表前者位置大于后者位置
string str = "A";string str2 = "B";Console.WriteLine(str.CompareTo(str2));Console.ReadKey();
显示结果为 1 因为前者 “A”大于后者"B"
compare:
- 方法用来比较两个字符串是否相等
string str = "A";string str2 = "B";Console.WriteLine(string.Compare(str2,str));Console.ReadKey();
显示结果同上面一样
Equals
- 方法主要用于比较两个字符串是否相等,如果相同返回值为 true,否则为false
格式化字符串,Format方法
用于将字符串数据格式化成指定的格式
一般针对DateTime.Now进行格式化
以上表格中的F带秒,f不带秒如以下代码要求显示出当前日期格式
string str = string.Format("{0:d}",DateTime.Now);Console.WriteLine(str);Console.ReadLine();
代码分析:在{0:d}里面,0代表的是当前的时间,要求把它转成d简短日期格式
显示结果如下图:
截取字符串:
- SubString方法,该方法可以截取字符串中指定位置和指定长度的字符。
- 第一种,只截取第一个
string str = "abcdefg";Console.WriteLine(str.Substring(1));Console.ReadKey();
显示结果为
*第二种,从第一位开始截取后三位
string str = "abcdefg";Console.WriteLine(str.Substring(1,3));Console.ReadKey();
显示结果为:
文件的出现位置:
- 第一种:当只有一个点时截取cs
string str = "123.cs";//找到字符第一次出现的位置int index = str.IndexOf(".");//通过截取产生新的字符串string str2 = str.Substring(0, index);Console.WriteLine(str2);Console.ReadKey();
显示结果为cs
*第二种:当文件名如果有很多点时截取cs之前的
string str = "...1...2...3.cs";int index = str.LastIndexOf(".");string str2 = str.Substring(0, index);Console.WriteLine(str2);Console.ReadKey();
显示结果为…1…2…3
插入字符串:
- Insert方法,用于向字符串的任意位置插入新元素
string str = "123";//(startIndex:插入的开始位置 value插入的值)string str2=str.Insert(1, "aaaaaa");Console.WriteLine(str2);Console.ReadKey();
显示结果为:
填充字符串:
- PadLeft/PadRight 填充字符
string str = "123";//(totalWidth: 新的字符串的长度 paddingChar:填充的值)string str2 = str.PadLeft(5, 'A');Console.WriteLine(str2);Console.ReadKey();
显示结果如下:
删除字符串:
- Remove方法,用于从一个字符串指定位置开始,删除指定数量的字符。
string str = "123456";// (startIndex:开始删除元素的下表 count:删除此元素和此元素后的数量)string str2= str.Remove(3,2);Console.WriteLine(str2);Console.ReadKey();
显示结果为:
复制字符串:
- Copy和CopyTo方法,用于将字符串复制到另外一个字符串或char类型的数组中
- CopyTo
string str = "123";char[] destination = { 'T', 'h', 'e', 'i', 'n', 'i', 't', 'i', 'a', 'l', ' ', 'a', 'r', 'r', 'a', 'y' };//(sourceIndex:复制第一个字符索引 destination: 将所有字符复制到char数组 ,destinationIndex:在哪里开始复制操作 count:复制多少个)//索引和计数必须引用该字符串内的位置Console.WriteLine(destination);str.CopyTo(0, destination, 4 , str.Length);Console.WriteLine(destination);Console.ReadKey();
它不产生任何结果集,只是对当前的数组进行操作
显示结果为:
- Copy
string str = "123";string str2 = String.Copy(str);Console.WriteLine(str2);Console.ReadKey();
产生结果集
显示结果为:
CopyTo与Copy的区别:
- CopyTo是替换掉数组中的值,Copy是全部内容的复制
替换字符串
- Replace方法,用于将字符串中的某个字符或者字符串换成其他的字符或者字符串
string str = "123";//(oldChar:旧的字符,newChar:新的字符)string str2=str.Replace('2','5');Console.WriteLine(str2);Console.ReadKey();
显示结果为
分割字符串
- Split方法,用于分割字符串。该方法的返回值是包含所有分割子字符串的数组对象,可以通过数组取得所有分割的子字符串
string str = "1,234?568.abvfr";string[] strs=str.Split(new char[] { ',', '?', '.' });Console.WriteLine(strs.Length);Console.ReadKey();
显示结果为
StringBuilder
- StringBuilder可变字符串类,存在于System.Text命名空间中,如果要创建StringBilder对象,首先必须引用此命名空间
- 常用方法
- Append方法
StringBuilder sb = new StringBuilder();sb.Append("A");sb.Append("A");sb.Append("A");sb.Append("A");sb.Append("A");Console.WriteLine(sb);Console.ReadKey();
起了一种拼接效果
显示结果为
- AppendFormat方法
StringBuilder sb = new StringBuilder();sb.AppendFormat("{0:C}",9999999.99);Console.WriteLine(sb);Console.ReadKey();
显示结果为
- Insert方法
StringBuilder sb = new StringBuilder();sb.AppendFormat("{0:C}",9999999.99);sb.Insert(sb.Length, "插入的值");Console.WriteLine(sb);Console.ReadKey();
显示结果为
- Remove方法
StringBuilder sb = new StringBuilder();sb.AppendFormat("{0:C}",123.123);sb.Insert(sb.Length, "插入的值");sb.Remove(0,1);Console.WriteLine(sb);Console.ReadKey();
显示结果为:
*Replace方法
StringBuilder sb = new StringBuilder();sb.AppendFormat("{0:C}",123.123);sb.Insert(sb.Length, "插入的值");sb.Remove(0,1);sb.Replace("插入的值","改变的值");Console.WriteLine(sb);Console.ReadKey();
显示结果为:
StringBuilder与String类的区别
- String对象不可改变的,每次使用Stirng类中的方法时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,与创建新的String对象相关的系统开销会非常昂贵。如果修改字符串而不创建新的对象,则可以使用StirngBuilder类。
C#中的字符与字符串相关推荐
- java中的字符,字符串,数字之间的转换(亲测)
string 和int之间的转换 string转换成int :Integer.valueOf("12") int转换成string : String.valueOf(12) ch ...
- java中的字符,字符串,数字之间的转换
java中的字符,字符串,数字之间的转换 string 和int之间的转换 string转换成int :Integer.valueOf(" ") int转换成string : St ...
- 字符中搜索字符或者字符串
CHARINDEX和PATINDEX函 数常常用来在一段字符中搜索字符或者字符串.如果被搜索的字符中包含有要搜索的字符,那么这两个函数返回一个非零的整数,这个整数是要搜索的字符在被搜索 的字符中的 ...
- C语言中的字符和字符串
C语言在中常常出现字符和字符串,而一串字符或者字符串其实就是数组 字符数组的定义 char arr[]={'h','e','l','l','o','\0'}; 而定义字符串: char arr1[]= ...
- 《Python CookBook2》 第一章 文本 - 检查字符串中是否包含某字符集合中的字符 简化字符串的translate方法的使用...
检查字符串中是否包含某字符集合中的字符 任务: 检查字符串中是否出现了某个字符集合中的字符 解决方案: 方案一: import itertoolsdef containAny(seq,aset):f ...
- 字符串在Java中_字符和字符串在Java中的旅程
以下是个人对java中字符和字符串的见解,如有疏漏之处,还请不吝赐教. 下面通过一个简单的程序来说明字符和字符串在Java中的旅程. 以字符 ' 中 '为例, 它的GBK编码是2个字节:0xd6d0, ...
- Go语言中的字符和字符串
Go语言中的字符 在Go语言中,没有字符类型,字符类型是rune类型,rune是int32的别称. 下面用一个简单的程序来演示字符类型: package mainimport ("fmt&q ...
- 查找字符串中指定字符的位置c语言,C语言中查找字符在字符串中出现的位置的方法...
C语言strchr()函数:查找某字符在字符串中首次出现的位置 头文件:#include strchr() 用来查找某字符在字符串中首次出现的位置,其原型为: char * strchr (const ...
- C语言中的字符与字符串库函数的使用以及模拟实现
目录 一.求字符串长度 1.strlen库函数如何使用? 2.如何模拟实现strlen函数 二.长度不受限制的字符串函数 1.库函数 strcpy 如何使用? 2.如何模拟实现 strcpy 函数? ...
最新文章
- Android下EditText中的字体不统一问题
- svn 建子项目的方法
- python3.5安装scrapy_Python3.5 win7安装scrapy
- 友盟ionic多渠道自动签名app
- 洛谷P2678 跳石头
- python在windows 比linux 慢,为什么python在Windows上这么慢?
- Google GPS在Android上的一些应用
- c#明华rf读卡器_C#调用第三方API接口-案例明华读卡器
- C语言函数的声明、定义、调用
- JAVA之所得税计算器
- linux进程假死的原因_谈谈 Linux 假死现象
- c#获取当前日期时间
- 复制html代码怎么粘贴快捷键,复制和粘贴快捷键ctrl加什么
- BBED处理RMAN-03009,ORA-1956
- 通过爬虫获取银行名称
- 通过数据可视化进行足球进球方式分析球员属性
- Python logging log日志写入文件
- iTools安装软件
- 电影影评的文本分类——基于tensorflow
- 探索EDM(Entity Framework)的EDM元数据
热门文章
- 混合云存储阵列 > 产品简介 > 应用场景 > 双活容灾
- Jenkins 学习总结(8)—— Jenkins X 入门实践
- Redis学习总结(6)——Redis 高级特性与案例学习
- Maven学习总结(10)——使用Maven编译项目gbk的不可映射问题
- 复制文件夹时同时拷贝其权限
- 云linux搭建 arm开发,arm集成开发环境搭建
- (一)java版spring cloud+spring boot+redis多租户社交电子商务平台-简介
- 自动备份 SourceSafe
- Unity Application Block 3月12 发布的版本
- Linux性能分析之IO篇