1.常用的字符串函数
Compare 比较字符串的内容,考虑文化背景(场所),确定某些字符是否相等
int Compare(string str1,string str2)
int Compare(string str1,string str2,bool )

CompareOrdinal 与Compare一样,但不考虑文化背景

CmpareTo 以实例对象本身指定的字符串作出比较
public int CompareTo(string strB)

Equals 主要比较两个字符串是否相同
public bool Equals(string value)
public static bool Equals(string a,string b)

Format 格式化包含各种值的字符串和如何格式化每个值的说明符
public static string Format(string format,object obj)

IndexOf 定位字符串中第一次出现某个给定子字符串或字符的位置

Substring 可以截取字符串中指定位置和长度的字符
public string Substring(int startlndex,int lenth)

IndexOfAny 定位字符串中第一次出现某个字符或一组字符的位置

LastIndexOf 与IndexOf一样,但定位最后一次出现的位置

LastIndexOfAny 与IndexOfAny,但定位最后一次出现的位置

PadLeft 在字符串的开头,通过添加指定的重复字符填充字符串
public string Padleft(int tatalWidth,char paddingChar)

PadRight 在字符串的结尾,通过添加指定的重复字符填充字符串
public string Padleft(int tatalWidth,char paddingChar)

Replace 用另一个字符或子字符串替换字符串中给定的字符或子字符串
public string Replace(char Ocahr,char Ncahr)
publci string Replace(string Ovalue,string nvalue)

2.可变字符串类StringBuilder的使用
动态串StringBuilder
与String类相比,System.Text.StringBuilder类可以实现动态字符串。此外,动态的含义是指在修改字符串时,系统不需要创建新的对象,不会重复开辟新的内存空间,而是直接在原StringBuilder对象的基础上进行修改。下面,将从各个应用的角度,详细讨论StringBuilder类。

2.1 声明StringBuilder串
StringBuilder类位于命名空间System.Text中,使用时,可以在文件头通过using语句引入该空间:

using System.Text;

声明StringBuilder对象需要使用new关键字,并可以对其进行初始化。如以下语句声明了一个StringBuilder对象myStringBuilder,并初始化为“Hello”:

StringBuildermyStringBuilder=new StringBuilder("Hello");

如果不使用using关键字在文件头引入System.Text命名空间,也可以通过空间限定来声明StringBuilder对象:

System.Text.StringBuildermyStringBuilder=new StringBuilder("Hello");

在声明时,也可以不给出初始值,然后通过其方法进行赋值。

2.2 设置StringBuilder容量
StringBuilder对象为动态字符串,可以对其设置好的字符数量进行扩展。另外,还可以设置一个最大长度,这个最大长度称为该StringBuilder对象的容量(Capacity)。

为StringBuilder设置容量的意义在于,当修改StringBuilder字符串时,当其实际字符长度(即字符串已有的字符数量)未达到其容量之前,StringBuilder不会重新分配空间;当达到容量时,StringBuilder会在原空间的基础之上,自动不进行设置,StringBuilder默认初始分配16个字符长度。有两种方式来设置一个StringBuilder对象的容量。

1.使用构造函数

StringBuilder构造函数可以接受容量参数,例如,下面声明一个StringBuilder对象sb2,并设置其容量为100。

//使用构造函数

StringBuilder sb2=new StringBuilder("Hello",100);

2.使用Capacity读/写属性

Capacity属性指定StringBuilder对象的容量,例如下面语句首先一个StringBuilder对象sb3,然后利用Capacity属性设置其容量为100。

//使用Capacity属性

StringBuilder sb3=new StringBuilder("Hello");

sb3.Capacity=100;

3. 追加操作
追加一个StringBuilder是指将新的字符串添加到当前StringBuilder字符串的结尾处,可以使用Append和AppendFormat来实现这个功能。

1. Append方法

Append方法实现简单的追加功能,常用形式为:

public StringBuilder Append(object value);

其中,参数value既可以是字符串类型,也可以是其他的数据类型,如bool、byte、int等。下例中,把一个StringBuilder字符串“Hello”追加为“Hello World!”。

//Append

StringBuilder sb4=new StringBuilder("Hello");

sb4.Append(" World!");

2.AppendFormat方法

AppendFormat方法可以实现对追加部分字符串的格式化,可以定义变量的格式,并将格式化后的字符串追加在StringBuilder后面。常用的形式为:

StringBuilder AppendFormat(string format,params object[] args);

其中,args数组指定所要追加的多个变量。format参数包含格式规范的字符串,其中包括一系列用大括号括起来的格式字符,如{0:u}。这里,0代表对应args参数数组中的第0个变量,而‘u’定义其格式。下例中,把一个StringBuilder字符串“Today is”追加“Today is *当前日期*\”。

//AppendFormat

StringBuilder sb5=new StringBuilder("Today is ");

sb5.AppendFormat("{0:yyyy-MM-dd}",System.DateTime.Now);

Console.WriteLine(sb5); //形如:"Today is 2008-10-20"

4. 插入操作
StringBuilder的插入操作是指将新的字符串插入到当前的StringBuilder字符串的指定位置,如“Hello”变为“Heeeello”。可以使用StringBuilder类的Insert方法来实现这个功能,常用形式为:

public StringBuilder Insert(int index, object value);

其中,参数index指定所要插入的位置,并从0开始索引,如index=1,则会在原字符串的第2个字符之前进行插入操作;同Append一样,参数value并不仅是只可取字符串类型。

5. 删除操作
StringBuilder的删除操作可以从当前StringBuilder字符串的指定位置,删除一定数量的字符,例如把“Heeeello”变为“Hello”。可以使用StringBuilder类的Remove方法来实现这个功能,常用形式为:

public StringBuilder Remove(int startIndex, int length);

其中,参数startIndex指定所要删除的起始位置,其含义同Insert中的index相同;length参数指定所要删除的字符数量。下例中,把一个StringBuilder字符串“Heeeello”通过删除操作修改为“Hello”。

//Remove

StringBuilder sb7=new StringBuilder("Heeello");

sb7.Remove(2,3); //在”He”后面删除个字符

Console.WriteLine(sb7); //"Hello!"

6. 替换操作
StringBuilder使用Replace方法来实现替换操作,例如把“Hello”变为“Hero”,就需要使用替换操作,将“ll”替换为“r”。这同String类的Replace方法非常类似,其常用

形式包括:

public StringBuilder Replace(char oldChar, char newChar);

public StringBuilder Replace(string oldValue, string newValue);

其中,参数oldChar和oldValue为待替换的字符和子串,而newChar和newValue为替换后的新字符和新子串。

下例把“Hello”通过替换为“Hero”。

//Replace

StringBuilder sb8=new StringBuilder("Hello");

sb8=sb8.Replace("ll","r");

Console.WriteLine(sb8); //Hero

c#之字符串函数的更多相关文章

  1. ThinkPHP 模板substr的截取字符串函数

    ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...

  2. SQL字符串函数

    LEN() :计算字符串长度(字符的个数.)datalength();//计算字符串所占用的字节数,不属于字符串函数.测试varchar变量与nvarchar变量存储字符串a的区别.见备注1.LOWE ...

  3. Python3中的字符串函数学习总结

    这篇文章主要介绍了Python3中的字符串函数学习总结,本文讲解了格式化类方法.查找 & 替换类方法.拆分 & 组合类方法等内容,需要的朋友可以参考下. Sequence Types ...

  4. TSQL 字符串函数:截断和查找

    字符串截断函数是指:Stuff 和 SubString,字符串查找函数是:CharIndex 和 PatIndex 一,SubString 截取子串 最常用的字符串函数,用于截取特定长度的子串. SU ...

  5. c#编程基础之字符串函数

    c#常用的字符串函数 例一: 获取字符串的大小写函数 ToLower():得到字符串的小写形式 ToUpper():得到字符串的大写形式 注意: 字符串时不可变的,所以这些函数都不会直接改变字符串的内 ...

  6. SQLSERVER常见系统函数之字符串函数(一)

    好久没有写博客了,这段时间准备写一下字符串函数 QQ群: 499092562:欢迎交流 字符串函数: 1.LEN(需要获取长度的字符串) 返回:字符串的长度 示例: SELECT LEN('小搬运工很 ...

  7. python笔记-字符串函数总结

    字符串函数: chr() 数字转ASCII chr(96)="a" ord() ASCII转数字 ord("a")=96 isspace() 判断是否为空格 s ...

  8. Sql Server函数全解<一>字符串函数

    阅读目录 1.ASCII()函数 2.CHAR()函数 3.LEFT()函数 4.RIGHT()函数 5.LTRIM()函数 6.RTRIM()函数 7.STR()函数 8.字符串逆序的函数REVER ...

  9. Sql Server系列:字符串函数

    字符串函数用于对字符和二进制字符串进行各种操作,大多数字符串函数只能作用于char.nchar.varchar和nvarchar数据类型.字符串函数可以用在SELECT或者WHERE语句中. 1. A ...

  10. 前端学PHP之字符串函数

    × 目录 [1]特点 [2]输出 [3]空格[4]大小写[5]HTML[6]格式化[7]比较 前面的话 字符串的处理和分析在任何编程语言中都是一个重要的基础,往往是简单而重要的.信息的分类.解析.存储 ...

随机推荐

  1. Unity 对象的批处理

    本文章由cartzhang编写,转载请注明出处. 所有权利保留. 文章链接:http://blog.csdn.net/cartzhang/article/details/52813834 作者:car ...

  2. VM打开虚拟机文件报错

    用VM打开以前的虚拟机文件报错 Cannot open the disk 'F:/****.vmdk' or one of the snapshot disks it depends on. 这种问题 ...

  3. Smart Framework:轻量级 Java Web 框架

    Smart Framework:轻量级 Java Web 框架 收藏 黄勇   工作闲暇之余,我开发了一款轻量级 Java Web 框架 —— Smart Framework. 开发该框架是为了: 加 ...

  4. android service笔记

    1.service 默认在主线程运行,所以不能在service中直接做访问网络,操作文件等耗时操作,要另外开启线程 2.通过startservice开启的服务,一旦服务开启,这个服务和开启他的调用者之 ...

  5. 我所认识的XPath

    实例demo 测试demo所需要xml测试数据 <?xml version="1.0" encoding="iso-8859-1"?> <bo ...

  6. 第七篇Python基本数据类型之数字&字符串&布尔值

    数字 写在最前,必须要会的:int() 整型 Python3里无论数字多长都用int表示,Python2里有int和Long表示,Long表示长整型 有关数字的常用方法,方法调用后面都必须带括号() ...

  7. MyCAT+MySQL 搭建高可用企业级数据库集群——第2章 MyCat入门

    2-1 章节综述 2-2 什么是MyCat 2-3 什么是数据库中间层 2-4 MyCat的主要作用 2-5 MyCat基本元素 2-6 MyCat的安装 2-1 章节综述 1.掌握Mycat的基础概 ...

  8. Unity动态换装之Spine换装

    注:转载请注明转载,并附原链接 http://www.cnblogs.com/liaoguipeng/p/5867510.html 燕双飞情侣 一.动态换装原理 换装,无非就是对模型的网格,或者贴图进 ...

  9. spring-boot分页插件

    1.分页插件,spring-boot.,第一次调用时,存值到 model.addAttribute("status", id);页面获取2.页面获取 后台存入的值,放在input ...

  10. 九度OJ--Q1165

    import java.util.ArrayList;import java.util.Scanner; /* * 题目描述: * 读入数据string[ ],然后读入一个短字符串.要求查找strin ...