C# 字符串处理
1、比较字符串
String 类提供了一系列的方法用于字符串的比较,如CompareTo 和 Equals方法等。
① CompareTo :
如果参数的值与此实例相等,则返回0;如果此实例大于参数的值,则返回1;否则返回-1。
string str1 = "abc";
int m1 = str1.CompareTo("abc"); // m1 = 0
int m2 = str1.CompareTo("ab"); //m2 = 1
int m3 = str1.CompareTo("abcd"); // m3 = -1
②Equals
如果参数的值与此实例相同,则为true;否则为false。
string str1 = "abC",str2 = "abc",str3 = "abC";
bool b1 = str1.Equals(str2); //false
bool b2 = str1.Equals(str3);//true
注意:Equals 方法区分大小写。
2、定位字符及子串
定位字符串中某个字符或子串第一次出现的位置使用IndexOf方法。
如果找到该字符,则为参数值得的索引位置,从0开始;如果未找到该字符,则为-1;如果参数为Empty,则返回值为0。
string str1 = "abcd";
int m1 = str1.IndexOf("b"); // 1
int m2 = str1.IndexOf("cd");// 2
int m3 = str1.IndexOf(""); // 0
int m4 = str1.IndexOf("w");// -1
3、格式化字符串
//格式化为Currency类型
string str1 = String.Format("(C) Currency:{0:C}\n",-123.45678f); //(C) Currency:¥-123.46
//格式化为ShortDate类型
string str2 = String.Format("(d) Short date:{0:d]\n",DateTime.Now); //(d) Short date:2009/11/6
4、截取字符串
string str = "Hello World!";
string str1 = str.Substring(0,5);// Hello
第一个参数表示子串的起始位置,第二个参数表示子字符串的长度。
5、分裂字符串
Split 方法可以把一个字符串按照某个分隔符分裂成一系列小的字符串
string str = "Hello.World!";
string[] spilt = str. Split('.' , '!');
foreach (string s in spilt)
{
if(s.Trim() != "")
Console.WriteLine(s);
}
6、插入和填充字符串
①插入字符串
string str = "This is a girl";
str = str.Insert(10,"beautiful ");// This is a beautiful girl
第一个参数指定所要插入的位置,索引从0 开始;第二个参数指定要插入的字符串。
②填充字符串
string str = "Hello World!";
string str1 = str.PadLeft(15,'@'); //@@@Hello World!
string str2 = str.PadRight(15,'@'); //Hello World!@@@
第一个参数指定了填充后字符串长度;第二个参数指定所要填充的字符。第二个参数可以省略,如果省略,则填充空格符号。
7、删除和剪切字符串
①删除字符串
string str = "This is a beautiful girl.";
str = str.Remove(10,10); // This is a girl.
第一个参数指定开始删除的位置,索引从0开始;第二个参数指定要删除的字符数量。
②剪切字符串
string str = "*_*Hello World! *_*";
string str1 = str.TrimStart(new char[] {'*','_'});//Hello World! *_*
string str2 = str.TrimEnd(new char[] {'*','_'});//*_*Hello World!
8、复制字符串
String str="It is a dog";
String newstr=String.Copy(str);
9、替换字符串
String str="It is a dog";
str=str.Replace("dog","pig");
10、判断字符串是否为空
string str = "aa";
bool b = String.IsNullOrEmpty(str);
11、判断字符串是否包含中文
string str = "aaaaa";
bool b = Regex.IsMatch(str, @"[\u4e00-\u9fa5]");
12、判断字符串是否包含另一字符串
string str1 = "你好!XXXX";
string str2 = "你好";
bool b = str1. Contains(str2);
C# 字符串处理的更多相关文章
- Python高手之路【六】python基础之字符串格式化
Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...
- 测试一下StringBuffer和StringBuilder及字面常量拼接三种字符串的效率
之前一篇里写过字符串常用类的三种方式<java中的字符串相关知识整理>,只不过这个只是分析并不知道他们之间会有多大的区别,或者所谓的StringBuffer能提升多少拼接效率呢?为此写个简 ...
- java中的字符串相关知识整理
字符串为什么这么重要 写了多年java的开发应该对String不陌生,但是我却越发觉得它陌生.每学一门编程语言就会与字符串这个关键词打不少交道.看来它真的很重要. 字符串就是一系列的字符组合的串,如果 ...
- JavaScript 字符串实用常操纪要
JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...
- Java 字符串格式化详解
Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...
- Redis的简单动态字符串实现
Redis 没有直接使用 C 语言传统的字符串表示(以空字符结尾的字符数组,以下简称 C 字符串), 而是自己构建了一种名为简单动态字符串(simple dynamic string,sds)的抽象类 ...
- ASP.NET加密和解密数据库连接字符串
大家知道,在应用程序中进行数据库操作需要连接字符串,而如果没有连接字符串,我们就无法在应用程序中完成检索数据,创建数据等一系列的数据库操作.当有人想要获取你程序中的数据库信息,他首先看到的可能会是We ...
- Javascript正则对象方法与字符串正则方法总结
正则对象 var reg = new Regexp('abc','gi') var reg = /abc/ig 正则方法 test方法(测试某个字符串是否匹配) var str = 'abc123'; ...
- 微信小程序中利用时间选择器和js无计算实现定时器(将字符串或秒数转换成倒计时)
转载注明出处 改成了一个单独的js文件,并修改代码增加了通用性,点击这里查看 今天写小程序,有一个需求就是用户选择时间,然后我这边就要开始倒计时. 因为小程序的限制,所以直接选用时间选择器作为选择定时 ...
- ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案
好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...
随机推荐
- Theano1.1-安装
之前一直想弄theano,可是python不是很懂,在学习了一段时间之后开始安装theano.当然官网上的安装资料是全,可是也太繁琐了.这里介绍的是最简单,最方面的安装theano的方法.官网首页:h ...
- 如何用 fiddler 捕获 https 请求
安装完 Fiddler 后,我们每次打开浏览器输入 url,Fiddler 便会捕获到我们的 http 请求(Fiddler 是以代理 web 服务器的形式工作的,它使用代理地址:127.0.0.1, ...
- ffmpeg在shell循环中只执行一次问题
最近写了一个shell脚本,发现 ffmpeg 命令只执行了一次就停了,最后找到原因: ffmpeg有时会读取标准输入流,导致命令出错,解决办法是在ffmpeg命令之后添加 #xxx ffmpeg x ...
- 解决nf_conntrack: table full, dropping packet问题
" > /proc/sys/net/nf_conntrack_max iptables -t raw -A PREROUTING -p tcp -m tcp --dport -j NO ...
- DataGridView 绑定List集合后实现自定义排序
这里只贴主要代码,dataList是已添加数据的全局变量,绑定数据源 datagridview1.DataSource = dataList,以下是核心代码. 实现点击列表头实现自定义排序 priva ...
- 记一次使用命令行启动部署在tomcat上的应用
在Eclipes进行程序开发完成后,一般都会直接在Eclipse部署启动,其中的一些启动参数设置都会在其中进行,若用命令行启动,则需要手动配置. 程序开发完成后打成的war包,需要部署到Tomcat应 ...
- SQL中的内连接与外连接
关于关系代数连接运算的介绍请查看下面链接 http://www.cnblogs.com/xidongyu/articles/5980407.html 连接运算格式 链接运算由两部分构成:连接类型和连接 ...
- js中递归函数的使用介绍
所谓的递归函数就是在函数体内调用本函数.使用递归函数一定要注意,处理不当就会进入死循环.递归函数只有在特定的情况下使用 ,比如阶乘问题 递归函数是在一个函数通过名字调用自身的情况下构成的,如下所示: ...
- ajax 跨域提交数据
$.ajax({ url:"http://my.demo.com/jsonp/server.php",//不同域的文件; cache: false, //是否使用缓存; error ...
- [转]论acm与泡妞
abstract :本文从各个方面讨论了泡妞与做题之间的相似之处与不同点,尽量的站在一个公平的角度阐述这一问题,所得的研究成果填补了国内外的理论空白. - 泡了一个好妞就好像做了一道难题一样快感都是相 ...