C所有处理字符串函数和用法.docx

上传人:b****1 文档编号:13793079 上传时间:2023-06-17 格式:DOCX 页数:12 大小:20.41KB
下载 相关 举报
C所有处理字符串函数和用法.docx_第1页
第1页 / 共12页
C所有处理字符串函数和用法.docx_第2页
第2页 / 共12页
C所有处理字符串函数和用法.docx_第3页
第3页 / 共12页
C所有处理字符串函数和用法.docx_第4页
第4页 / 共12页
C所有处理字符串函数和用法.docx_第5页
第5页 / 共12页
C所有处理字符串函数和用法.docx_第6页
第6页 / 共12页
C所有处理字符串函数和用法.docx_第7页
第7页 / 共12页
C所有处理字符串函数和用法.docx_第8页
第8页 / 共12页
C所有处理字符串函数和用法.docx_第9页
第9页 / 共12页
C所有处理字符串函数和用法.docx_第10页
第10页 / 共12页
C所有处理字符串函数和用法.docx_第11页
第11页 / 共12页
C所有处理字符串函数和用法.docx_第12页
第12页 / 共12页
亲,该文档总共12页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C所有处理字符串函数和用法.docx

《C所有处理字符串函数和用法.docx》由会员分享,可在线阅读,更多相关《C所有处理字符串函数和用法.docx(12页珍藏版)》请在冰点文库上搜索。

C所有处理字符串函数和用法.docx

C所有处理字符串函数和用法

C#字符串函数大全

C#字符串函数大全将包括LenLen(string|varname)、TrimTrim(string)、LtrimLtrim(string)等多项内容

LenLen(string|varname)返回字符串内字符的数目,或是存储一变量所需的字节数。

TrimTrim(string)将字符串前后的空格去掉

LtrimLtrim(string)将字符串前面的空格去掉

RtrimRtrim(string)将字符串后面的空格去掉

MidMid(string,start,length)从string字符串的start字符开始取得length长度的字符串,如果省略第三个参数表示从start字符开始到字符串结尾的字符串

LeftLeft(string,length)从string字符串的左边取得length长度的字符串

RightRight(string,length)从string字符串的右边取得length长度的字符串

LCaseLCase(string)将string字符串里的所有大写字母转化为小写字母

UCaseUCase(string)将string字符串里的所有大写字母转化为大写字母

StrCompStrComp(string1,string2[,compare])返回string1字符串与string2字符串的比较结果,如果两个字符串相同,则返回0,如果小于则返回-1,如果大于则返回1

InStrInStr(string1,string2[,compare])返回string1字符串在string2字符串中第一次出现的位置

SplitSplit(string1,delimiter[,count[,start]])将字符串根据delimiter拆分成一维数组,其中delimiter用于标识子字符串界限。

如果省略,使用空格("")作为分隔符。

string[]rq1=newstring[3];//此方法比较简洁(分割字符串)

rq1=rq.Split('-');//单个字符作为分隔符

//rq1=rq.Split(newchar[]{'-','-'});多个字符作为分隔符

count返回的子字符串数目,-1指示返回所有子字符串。

start为1执行文本比较;如果为0或者省略执行二进制比较。

ReplaceReplace(expression,find,replacewith[,compare[,count[,start]]])返回字符串,其中指定数目的某子字符串(find)被替换为另一个子字符串(replacewith)。

C#字符串函数大全1、Len函数示例:

下面的示例利用Len函数返回字符串中的字符数目:

DimMyStringMyString=Len("VBSCRIPT")''MyString包含8。

C#字符串函数大全2、Trim、Ltrim、Rtrim函数示例:

下面的示例利用LTrim,RTrim,和Trim函数分别用来除去字符串开始的空格、尾部空格、

开始和尾部空格:

DimMyVarMyVar=LTrim("vbscript")''MyVar包含"vbscript"。

MyVar=RTrim("vbscript")''MyVar包含"vbscript"。

MyVar=Trim("vbscript")''MyVar包含"vbscript"。

C#字符串函数大全3、Mid函数示例:

下面的示例利用Mid函数返回字符串中从第四个字符开始的六个字符:

DimMyVar

MyVar=Mid("VB脚本isfun!

",4,6)''MyVar包含"Script"。

C#字符串函数大全4、Left函数示例:

下面的示例利用Left函数返回MyString的左边三个字母:

DimMyString,LeftStringMyString="VBSCript"LeftString=Left(MyString,3)''LeftString包含"VBSC#字符串函数大全5、Right函数示例:

下面的示例利用Right函数从字符串右边返回指定数目的字符:

DimAnyString,MyStrAnyString="HelloWorld"''定义字符串。

MyStr=Right(AnyString,1)''返回"d"。

MyStr=Right(AnyString,6)''返回"World"。

MyStr=Right(AnyString,20)''返回"HelloWorld"。

C#字符串函数大全6、LCase函数示例:

下面的示例利用LCase函数把大写字母转换为小写字母:

DimMyStringDimLCaseStringMyString="VBSCript"LCaseString=LCase(MyString)''LCaseString包含"vbscript"。

C#字符串函数大全7、UCase函数示例:

下面的示例利用UCase函数返回字符串的大写形式:

DimMyWord

MyWord=UCase("HelloWorld")''返回"HELLOWORLD"。

C#字符串函数大全8、StrComp函数示例:

下面的示例利用StrComp函数返回字符串比较的结果。

如果第三个参数为1执行文本比较;如果第三个参数为0或者省略执行二进制比较。

DimMyStr1,MyStr2,MyComp

MyStr1="ABCD":

MyStr2="abcd"''定义变量。

MyComp=StrComp(MyStr1,MyStr2,1)''返回0。

MyComp=StrComp(MyStr1,MyStr2,0)''返回-1。

MyComp=StrComp(MyStr2,MyStr1)''返回1。

C#字符串函数大全9、InStr示例:

下面的示例利用InStr搜索字符串:

DimSearchString,SearchChar,MyPos

SearchString="XXpXXpXXPXXP"

SearchChar="P"

MyPos=Instr(SearchString,SearchChar)''返回9.

注意:

返回的不是一个字符串在另一个字符串中第一次出现的字符位置,而是字节位置。

C#字符串函数大全10、Split函数示例:

DimMyString,MyArray,Msg

MyString="VBScriptXisXfun!

"

MyArray=Split(MyString,"x",-1,1)

''MyArray(0)contains"VBScript".

''MyArray

(1)contains"is".

''MyArray

(2)contains"fun!

".

Response.Write(MyArray(0))

C#字符串函数大全11、Replace函数示例:

Replace("ABCD","BC","12")''得到A12D

 

1、从字符串中提取子串

StringBuilder类没有支持子串的方法,因此必须用String类来提取。

stringmystring="Mynameisynn.";

//Displays"nameisynn."

Console.WriteLine(mystring.Substring(3));

//Displays"ynn"

Console.WriteLine(mystring.Substring(11,3));

2、比较字符串

String类有四种方法:

Compare()、CompareTo()、CompareOrdinal()、Equals()。

Compare()方法是CompareTo()方法的静态版本。

只要使用“=”运算符,就会调用Equals()方法,的以Equals()方法与“=”是等价的。

CompareOrdinal()方法对两个字符串比较不考本地语言与文件。

示例:

intresult;

boolbresult;

s1="aaaa";

s2="bbbb";

//Compare()method

//result值为“0”表示等,小于零表示s1s2

result=String.Compare(s1,s2);

result=s1.CompareTo(s2);

result=String.CompareOrdinal(s1,s2);

bresult=s1.Equals(s2);

bresult=String.Equals(s1,s2);

一个例外情况是,两个字符串都是内置的,并相等,静态方法要快得多。

3、字符串格式化

3.1格式化数字

格式字符说明和关联属性

c、C货币格式。

d、D十进制格式。

e、E科学计数(指数)格式。

f、F固定点格式。

g、G常规格式。

n、N数字格式。

r、R往返格式,确保将已转换成字符串的数字转换回数字时具有与原数字相同的值。

x、X十六进制格式。

doubleval=Math.PI;

Console.WriteLine(val.ToString());//displays3.14159265358979

Console.WriteLine(val.ToString("E"));//displays3.141593E+000

Console.WriteLine(val.ToString("F3");//displays3.142

intval=65535;

Console.WriteLine(val.ToString("x"));//displaysffff

Console.WriteLine(val.ToString("X"));//displaysFFFF

Singleval=0.123F;

Console.WriteLine(val.ToString("p"));//displays12.30%

Console.WriteLine(val.ToString("p1"));//displays12.3%

默认格式化会在数字和百分号之间放入一个空格。

定制方法如下:

其中NumberFormatInfo类是System.Globalization命名空间的一个成员,因此该命名空间必须导入到程序中。

Singleval=0.123F;

objectmyobj=NumberFormatInfo.CurrentInfo.Clone()asNumberFormatInfo;

NumberFormatInfomyformat=myobjasNumberFormatInfo;

myformat.PercentPositivePattern=1;

Console.WriteLine(val.ToString("p",myformat));//displays12.30%;

Console.WriteLine(val.ToString("p1",myformat));//displays12.3%;

格式化具有很大的灵活性。

下面的例子演示一个没有意义的货币结构:

doubleval=1234567.89;

int[]groupsize={2,1,3};

objectmyobj=NumberFormatInfo.CurrentInfo.Clone();

NumberFormatInfomycurrency=myobjasNumberFormatInfo;

mycurrency.CurrencySymbol="#";//符号

mycurrency.CurrencyDecimalSeparator=":

";//小数点

mycurrency.CurrencyGroupSeparator="_";//分隔符

mycurrency.CurrencyGroupSizes=groupsize;

//输出 #1_234_5_67:

89

Console.WriteLine(val.ToString("C",mycurrency));c、C货币格式。

d、D十进制格式。

e、E科学计数(指数)格式。

f、F固定点格式。

g、G常规格式。

n、N数字格式。

r、R往返格式,确保将已转换成字符串的数字转换回数字时具有与原数字相同的值。

x、X十六进制格式。

doubleval=Math.PI;Console.WriteLine(val.ToString());//displays3.14159265358979

Console.WriteLine(val.ToString("E"));//displays3.141593E+000

Console.WriteLine(val.ToString("F3");//displays3.142intval=65535;

Console.WriteLine(val.ToString("x"));//displaysffff

Console.WriteLine(val.ToString("X"));//displaysFFFF

Singleval=0.123F;Console.WriteLine(val.ToString("p"));//displays12.30%

Console.WriteLine(val.ToString("p1"));//displays12.3%

默认格式化会在数字和百分号之间放入一个空格。

定制方法如下:

其中NumberFormatInfo类是System.Globalization命名空间的一个成员,因此该命名空间必须导入到程序中。

Singleval=0.123F;

objectmyobj=NumberFormatInfo.CurrentInfo.Clone()asNumberFormatInfo;

NumberFormatInfomyformat=myobjasNumberFormatInfo;

myformat.PercentPositivePattern=1;

Console.WriteLine(val.ToString("p",myformat));//displays12.30%;

Console.WriteLine(val.ToString("p1",myformat));//displays12.3%;

格式化具有很大的灵活性。

下面的例子演示一个没有意义的货币结构:

doubleval=1234567.89;

int[]groupsize={2,1,3};

objectmyobj=NumberFormatInfo.CurrentInfo.Clone();

NumberFormatInfomycurrency=myobjasNumberFormatInfo;

mycurrency.CurrencySymbol="#";//符号

mycurrency.CurrencyDecimalSeparator=":

";//小数点

mycurrency.CurrencyGroupSeparator="_";//分隔符

mycurrency.CurrencyGroupSizes=groupsize;//输出 #1_234_5_67:

89

Console.WriteLine(val.ToString("C",mycurrency));

3.2格式化日期

输出形式取决于用户计算机的文化设置。

usingSystem;

usingSystem.Globalization;

publicclassMainClass

{

publicstaticvoidMain(string[]args)

{

DateTimedt=DateTime.Now;

String[]format={"d","D","f","F","g","G","m","r","s","t","T","u","U","y","dddd,MMMMddyyyy","ddd,MMMd""'""yy","dddd,MMMMdd","M/yy","dd-MM-yy",};

Stringdate;

for(inti=0;i

{

date=dt.ToString(format[i],DateTimeFormatInfo.InvariantInfo);

Console.WriteLine(String.Concat(format[i],":

",date));

}

}

}

d:

07/11/2004<=======输出

D:

Sunday,11July2004

f:

Sunday,11July200410:

52

F:

Sunday,11July200410:

52:

36

g:

07/11/200410:

52

G:

07/11/200410:

52:

36

m:

July11

r:

Sun,11Jul200410:

52:

36GMT

s:

2004-07-11T10:

52:

36

t:

10:

52

T:

10:

52:

36

u:

2004-07-1110:

52:

36Z

U:

Sunday,11July200402:

52:

36

y:

2004July

dddd,MMMMddyyyy:

Sunday,July112004

ddd,MMMd"'"yy:

Sun,Jul11'04

dddd,MMMMdd:

Sunday,July11

M/yy:

7/04

dd-MM-yy:

11-07-04

3.3格式化枚举

enumclassmen

{

ynn=1,

yly=2,

css=3,

C++=4

}

获取枚举字符串信息如下:

classmenmyclassmen=classmen.yly;

Console.WriteLine(myclassmen.ToString());//displaysyly

Console.WriteLine(myclassmen.ToString("d"));//displays2

从系统枚举中获取文本人信息如下:

DayOfWeekday=DayOfWeek.Friday;

//displays"DayisFriday"

Console.WriteLine(String.Format("Dayis{0:

G}",day));

格式化字符串“G”把枚举显示为一个字符串。

介绍一下常用的几个功能:

Compare(str1,str2)——比较两个字符串str1,str2的大小,如果大于返回正数,等于返回0,小于返回负数!

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

PadLeft和PadRight——在字符串的开始和结尾用指定的字符填充字符串

ToLower和ToUpper把字符串转换为小写或大写形式

Trim——删除首尾空白

String.Replace——用指定的字符替换字符串中的指定字符。

C#中字符串的建立过程:

例如定义变量strT="Welcometo";

strT+="";

程序首先创建一个System.String类型的对象并初始化为“Welcometo”。

此时编译程度会分配足够的内存来保存这个文本串。

并用变量strT来表示这个实例。

当执行strT+=""时,系统会创建一个新的实例,并分配足够的内存来保存复合后的文本。

然后用变量strT来表示这个新的字符

串,就的字符串被撤消。

当要进行大规模的字符替换与调整操作时,使用字符串来操作将严重影响性能。

在这中情况下就可以用System.Text.StringBuilder类。

StringBuilder类并没有String类的功能强大,只提供基本的替换和添加和删除字符串中的文本,但它的工作效率非常高,当定义StringBuilder对象时可以指定内存的内存容量,如果不指定系统就会根据对象初始化时的字符串长度来确定。

它有两个主要参数Length和Capacity分别表示字符串的实际长度和字符串占据的内存空间长度。

对字符串的修改就是在这个内存中进行的,大大提高了添加和替换的的效率。

如定义:

StringBuildersb=newStringBuilder("Hello,Welcome",100);//初始化对象并设置初始容量为100

sb.Append("to");

sb.Replace(old,new);//将old替换为new,作用与String.Replace()一样只是不需要在过程中复制字符。

StringBuilder的成员:

StringBuildersb=newStringBuilder("");//定义初值为的对象。

StringBuildersb=newStringBuilder(20);初始化容量为20的空对象。

另外StringBuilder还有MaxCapacity属性用来限定对象可以使用的最大容量。

默认大约是int.MaxValue(20亿)

可以在使用过程中定义sb.MaxCapacity=value;

sb.Append(),给当前字符串追加字符串。

sb.AppendFormat()——添加特定格式的字符串

sb.Insert()——插入一个子字符串

sb.Remove()——从当前字符串删除字符

sb.Replace()——替换字符串中指定的字符

sb.ToString()——将sb转化为String对象

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2