C所有处理字符串函数和用法.docx
- 文档编号:26247413
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:12
- 大小:20.41KB
C所有处理字符串函数和用法.docx
《C所有处理字符串函数和用法.docx》由会员分享,可在线阅读,更多相关《C所有处理字符串函数和用法.docx(12页珍藏版)》请在冰豆网上搜索。
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”表示等,小于零表示s1
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对象
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 所有 处理 字符串 函数 用法