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# 字符串处理的更多相关文章

  1. Python高手之路【六】python基础之字符串格式化

    Python的字符串格式化有两种方式: 百分号方式.format方式 百分号的方式相对来说比较老,而format方式则是比较先进的方式,企图替换古老的方式,目前两者并存.[PEP-3101] This ...

  2. 测试一下StringBuffer和StringBuilder及字面常量拼接三种字符串的效率

    之前一篇里写过字符串常用类的三种方式<java中的字符串相关知识整理>,只不过这个只是分析并不知道他们之间会有多大的区别,或者所谓的StringBuffer能提升多少拼接效率呢?为此写个简 ...

  3. java中的字符串相关知识整理

    字符串为什么这么重要 写了多年java的开发应该对String不陌生,但是我却越发觉得它陌生.每学一门编程语言就会与字符串这个关键词打不少交道.看来它真的很重要. 字符串就是一系列的字符组合的串,如果 ...

  4. JavaScript 字符串实用常操纪要

    JavaScript 字符串用于存储和处理文本.因此在编写 JS 代码之时她总如影随形,在你处理用户的输入数据的时候,在读取或设置 DOM 对象的属性时,在操作 Cookie 时,在转换各种不同 Da ...

  5. Java 字符串格式化详解

    Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...

  6. Redis的简单动态字符串实现

    Redis 没有直接使用 C 语言传统的字符串表示(以空字符结尾的字符数组,以下简称 C 字符串), 而是自己构建了一种名为简单动态字符串(simple dynamic string,sds)的抽象类 ...

  7. ASP.NET加密和解密数据库连接字符串

    大家知道,在应用程序中进行数据库操作需要连接字符串,而如果没有连接字符串,我们就无法在应用程序中完成检索数据,创建数据等一系列的数据库操作.当有人想要获取你程序中的数据库信息,他首先看到的可能会是We ...

  8. Javascript正则对象方法与字符串正则方法总结

    正则对象 var reg = new Regexp('abc','gi') var reg = /abc/ig 正则方法 test方法(测试某个字符串是否匹配) var str = 'abc123'; ...

  9. 微信小程序中利用时间选择器和js无计算实现定时器(将字符串或秒数转换成倒计时)

    转载注明出处 改成了一个单独的js文件,并修改代码增加了通用性,点击这里查看 今天写小程序,有一个需求就是用户选择时间,然后我这边就要开始倒计时. 因为小程序的限制,所以直接选用时间选择器作为选择定时 ...

  10. ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案

    好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...

随机推荐

  1. opencv6.2-imgproc图像处理模块之图像尺寸上的操作及阈值

    接opencv6.1-imgproc图像处理模块之平滑和形态学操作,顺带说一句在opencv中的in-place操作就是比如函数的输入图像和输出图像两个指针是相同的,那么就是in-place操作了.比 ...

  2. 理解Android安全机制

    本文从Android系统架构着手,分析Android的安全机制以SE Android,最后给出一些Android安全现状和常见的安全解决方案. 1.Android系统架构 Android采用分层的系统 ...

  3. Display: table-cell实现img、文字垂直居中

    在文章开头先说明一下此方法的兼容性,IE8+以及其他现代浏览器都支持此属性. 直接献上一个demo吧 <!DOCTYPE html> <html> <head> & ...

  4. 线段树(codevs1082)

    type jd=record z,y,lc,rc,sum,toadd:int64; end; var tree:..] of jd; qzh:..] of int64; x:..] of int64; ...

  5. yii2搭建完美后台并实现rbac权限控制实例教程

    1.安装yii2 未安装的请参考yii2史上最简单式安装教程,没有之一 或者参考yii2实战教程之详细安装步骤 已安装的请继续看下一步操作 2.配置数据库 2.1 配置数据库 修改common/con ...

  6. 不停止MySQL服务的情况下修改root的密码

    首先我们得知道一个MySQL普通用户的密码 这里我来记录一下我的操作过程 这里我刚刚到一家公司上面装的是cacti,但是之前的运维不记得MySQL的root密码了 但是他知道cacti的密码, 用户: ...

  7. [转]Hibernate查询对象所有字段,单个字段 ,几个字段取值的问题

    原文地址:http://www.ablanxue.com/prone_3552_1.html 1. 查询整个映射对象所有字段 Java代码 //直接from查询出来的是一个映射对象,即:查询整个映射对 ...

  8. android 概述 及四大组件

    目录: 概述 四大组件 UI布局 概述 android studio中,gen很bin文件夹合并为built文件夹 四大组件 包括: 活动,服务,内容提供者,广播接收者 活动是一种包含用户界面的组件 ...

  9. 二、处理MVC多级目录问题——以ABP为基础架构的一个中等规模的OA开发日志

    就个人感觉而言.ASP.NET MVC是一种非常反人类的设计.(我没有接触过Java的MVC,不知道两者是否一样.如果一样,那么搞Java的同学也挺可怜.)尤其是MVC的路由机制,灰常灰常反动.路由所 ...

  10. maven-修改本地仓库存放地址

    eclipse中增加maven的插件,maven默认的本地库的路径是 ${user}/.m2/repository/下 一般windows用户的操作系统都安装在C盘 C:\Users\admin\.m ...