C#字符串常见操作总结详解
程序员文章站
2023-12-21 10:19:58
c#字符串常见操作总结详解(1)取字符串长度 .length;(2)字符...
c#字符串常见操作总结详解
(1)取字符串长度 <string>.length;
(2)字符串转为比特码 getbytes(<string>)
(3)字符串相加 推荐stringbuilder sb = new stringbuilder();sb.append(<string>);
(4)截断字符串的一部分 变量.substring(起始位置,截取位数);
(5)查指定位置是否为空字符 char.iswhitespace(字符串变量,位数);
(6)查字符是否是标点符号 char.ispunctuation(‘字符');
(7)把字符转化为数字,查代码点 (int)'变量'
(8)把数字转为字符,查代码代表的字符 (char)代码
(9)清除字符串前后包含的空格 变量.trim()
(10)替换字符串:字符串变量.replace(原字符串,新的字符串)
(11)删除字符串最后一个字符的3种方法
eg:string s = “1,2,3,4,5,”;
a) s.substring(0,s.length-1)//删除最后一个逗号
b) s.tostring().rtrim(‘,');//删除逗号,跟的变量是任何有效的字符串
c) s.trimend(‘,');//删除逗号,后面跟的变量是数组
char[] mychar={‘5',','};//删除‘5‘以及',‘
s.trimend(mychar);
(12)split的3种方法
a) 用单个字符来分隔 <string>.split(new char[]{‘字符'}) // <string>.split(‘字符');
b) 用多个字符来分隔 <string>.split(new char[2]{‘字符',''})
c) 用字符串来分隔 regex.split(<string>,”字符串”,regexoptions.ignorecase);
(13)几种输出字符串的格式
tostring(“n”); //生成12,345.00
tostring(“c”); //生成¥12,345.00
tostring(“e”); //生成1.234500e+004
tostring(“f4”); //生成12345.0000
tostring(“x”); //生成3039(16进制)
tostring(“p”); //生成1,234,500.00%
(14)把123456789转换为12-345-6789的3种方法
(a)a = int.parse(a).tostring(“##-###-####”);
(b)a = a.insert(5,”-”).insert(2,“-”);
(c)using system.text.regularexpressions; //先引用
regex reg = new regex(@“^(d{2})(d{3})(d{4})$”);
a = reg.replace(a,”$1-$2-$3”);
(15)输出21个a的简单方法 striing str = new string(‘a',21);
(16)得到随机数的方法
ramdom r = new ramdom();
int n1 = r.next(); //返回非负随机整数
int n2 = r.next(10); //返回一个小于所指定最大值(10)的非负随机整数
int n3 = r.next()%10; //返回一个小于所指定最大值(10)的非负随机整数
int n4 = r.next(1,20); //返回一个指定范围(1~20)内的随机整数
int n5 = r.nextdouble(); //得到一个介于0.0~1.0之间的随机整数
(17)int32.tryparse(),int32. parse(),convert.toint32()比较:
都是将字符串转换为整数数字
int32.tryparse(string,out int);
int = int32. parse(string);
int = convert.toint32(string);
比较:convert.toint32()在null时不抛出异常而是返回零;int32. parse()会抛出异常;int32.tryparse()不抛出异常,会返回true或false来说明解析是否成功。如果解析错误,则out调用放将会得到零值;
从性能上讲,int32.tryparse()优于int32.parse(),而int32.parse()优于convert.toint32()。
建议:在.net1.1下用int32.parse();在.net2.0下用int32.tryparse()。
(1)取字符串长度 <string>.length;
(2)字符串转为比特码 getbytes(<string>)
(3)字符串相加 推荐stringbuilder sb = new stringbuilder();sb.append(<string>);
(4)截断字符串的一部分 变量.substring(起始位置,截取位数);
(5)查指定位置是否为空字符 char.iswhitespace(字符串变量,位数);
(6)查字符是否是标点符号 char.ispunctuation(‘字符');
(7)把字符转化为数字,查代码点 (int)'变量'
(8)把数字转为字符,查代码代表的字符 (char)代码
(9)清除字符串前后包含的空格 变量.trim()
(10)替换字符串:字符串变量.replace(原字符串,新的字符串)
(11)删除字符串最后一个字符的3种方法
eg:string s = “1,2,3,4,5,”;
a) s.substring(0,s.length-1)//删除最后一个逗号
b) s.tostring().rtrim(‘,');//删除逗号,跟的变量是任何有效的字符串
c) s.trimend(‘,');//删除逗号,后面跟的变量是数组
char[] mychar={‘5',','};//删除‘5‘以及',‘
s.trimend(mychar);
(12)split的3种方法
a) 用单个字符来分隔 <string>.split(new char[]{‘字符'}) // <string>.split(‘字符');
b) 用多个字符来分隔 <string>.split(new char[2]{‘字符',''})
c) 用字符串来分隔 regex.split(<string>,”字符串”,regexoptions.ignorecase);
(13)几种输出字符串的格式
tostring(“n”); //生成12,345.00
tostring(“c”); //生成¥12,345.00
tostring(“e”); //生成1.234500e+004
tostring(“f4”); //生成12345.0000
tostring(“x”); //生成3039(16进制)
tostring(“p”); //生成1,234,500.00%
(14)把123456789转换为12-345-6789的3种方法
(a)a = int.parse(a).tostring(“##-###-####”);
(b)a = a.insert(5,”-”).insert(2,“-”);
(c)using system.text.regularexpressions; //先引用
regex reg = new regex(@“^(d{2})(d{3})(d{4})$”);
a = reg.replace(a,”$1-$2-$3”);
(15)输出21个a的简单方法 striing str = new string(‘a',21);
(16)得到随机数的方法
ramdom r = new ramdom();
int n1 = r.next(); //返回非负随机整数
int n2 = r.next(10); //返回一个小于所指定最大值(10)的非负随机整数
int n3 = r.next()%10; //返回一个小于所指定最大值(10)的非负随机整数
int n4 = r.next(1,20); //返回一个指定范围(1~20)内的随机整数
int n5 = r.nextdouble(); //得到一个介于0.0~1.0之间的随机整数
(17)int32.tryparse(),int32. parse(),convert.toint32()比较:
都是将字符串转换为整数数字
int32.tryparse(string,out int);
int = int32. parse(string);
int = convert.toint32(string);
比较:convert.toint32()在null时不抛出异常而是返回零;int32. parse()会抛出异常;int32.tryparse()不抛出异常,会返回true或false来说明解析是否成功。如果解析错误,则out调用放将会得到零值;
从性能上讲,int32.tryparse()优于int32.parse(),而int32.parse()优于convert.toint32()。
建议:在.net1.1下用int32.parse();在.net2.0下用int32.tryparse()。