1、取字符串长度
1 string str="Relict"; 2 int Len=str.Length;//得到字符串str的长度
2、字符串转为比特码
1 byte[] bytStr = System.Text.Encoding.Default.GetBytes(str); 2 //然后可以得到比特长度 3 len = bytStr.Length;
3、字符串相加
1 Systrm.Text.StringBuilder sd = new Systrm.Text.StringBuilder(); 2 sb.Append("Relict"); 3 sb.Append("Relict2012@foxmail.com"); 4 //推荐使用上例,虽然和"+"等效,但性能更好一些 5 string str = "Relict" + "Relict2012@foxmail.com";
4、截取字符串的一部分
语法:str.Substring(起始位置,截取字符串位数)
例如:截取str="Relict";的前两位结果为"Re"
1 str.Substring(0,2);
5、检查指定位置是否为空字符(正确性未知)
语法:char.IsWhiteSpce(字符串,第几位);//位数从第0位开始
例如:检查str="Relict Relict2012@foxmail.com"的第六位是否是空字符
1 Response.Write(char.IsWhiteSpce(str,6));
结果为True,第一个字符是0位,6就是第七个字符,正好是一个空格。
6、检查字符是否为标点符号
语法:char.IsPunctuation('字符');
例如:检查'R'是否是标点符号
1 Response.Write(char.IsPunctuation('R'));
结果为False
7、把字符转化为数字,查代码点。
语法:(int)'字符';
1 Response.Write((int)'中');
结果为:20013//注意是字符要用单引号
8、把数字转为字符,查代码代表的字符
语法:(char)数字代码
1 Response.Write((char)22269));
结果为:’国' 结果为字符一定要注意
9、清除字符串前后的空格
1 " Relict ".Trim();
10、替换字符串
1 Response.Write(str.Replace("e","e2012"));
结果为:Re2012lict
11、删除字符串最后一个字符的3种方法
方法一:也是最常用的Substring;
1 Response.Write(str.Substring(0,str.Length-1));
方法二:TrimEnd(params char[] trimChars) 从当前String对象中移除数组中指定的一组字符的所有尾部匹配项
1 Response.Write(str.TrimEnd('t'));
方法三:Remove删除字符串从指定位置到最后的所有字符
1 Response.Write(Str.Remove(Str.Length - 1));
结果为:Relic
12、Split的常见3种用法用法一:用单个字符分割
1 Str = "Relict,Relict2012,Relict2012@foxmail.com"; 2 string[] StrArray = Str.Split(','); 3 //string[] StrArray = Str.Split(new char[]{','});这种写法也可以 4 foreach (string s in StrArray) 5 { 6 Response.Write(s.ToString() + ""); 7 }
用法二:用多个字符分割
1 Str = "RelictkRelict2012+Relict2012@foxmail.com"; 2 //得到以'k'和'+'分割的字符串数组 3 StrArray = Str.Split(new char[] { 'k', '+' }); 4 foreach (string s in StrArray) 5 { 6 Response.Write(s.ToString() + ""); 7 }
用法三:用字符串分割
1 Str = "Relict&#%#&Relict2012&#%#&Relict2012@foxmail.com"; 2 StrArray = Regex.Split(Str,"&#%#&",RegexOptions.IgnoreCase); 3 foreach (string s in StrArray) 4 { 5 Response.Write(s.ToString() + ""); 6 }
13、几种数字格式化
1 Response.Write(123456.ToString("n") + "");//123,456.00 2 Response.Write(123456.ToString("C") + "");//¥123,456.00 3 Response.Write(123456.ToString("e") + "");//1.234560e+005 4 Response.Write(123456.ToString("f4") + "");//123456.0000 5 Response.Write(123456.ToString("x") + "");//1e240 6 Response.Write(123456.ToString("p") + "");//12,345,600.00%
14、把123456789转换为12-345-6789的三种方法
方法一:格式化输出
Response.Write(123456789.ToString("##-###-####"));
方法二: 指定位置插入字符串
1 Response.Write(123456789.ToString().Insert(5,"-").Insert(2,"-"));
方法三:正则表达式匹配
1 //注意添加引用using System.Text.RegularExpressions; 2 Regex reg = new Regex(@"^(\d{2})(\d{3})(\d{4})$"); 3 Response.Write(reg.Replace("123456789", "$1-$2-$3"));
15、输出21个A
方法一:for循环输出
1 StringBuilder str21A = new StringBuilder(); 2 for (int i = 0; i < 21; i++) 3 { 4 str21A.Append("A"); 5 } 6 Response.Write(str21A.ToString());
方法二:new string
1 Response.Write(new string('A',21));
16、获取随机数
1 Random r = new Random(); 2 Response.Write("返回非负随机整数" + r.Next().ToString() + ""); 3 Response.Write("返回指定最大值(10)的非负随机整数:" + r.Next(10).ToString() + ""); 4 Response.Write("返回指定最大值(10)的非负随机整数:" + (r.Next() % 10).ToString() + ""); 5 Response.Write("返回指定范围(0-20)内的随机整数:" + r.Next(0, 20).ToString() + ""); 6 Response.Write("返回0.0-1.0内的随机数:" + r.NextDouble().ToString() + "");
17、Convert.ToInt32()、Int32.Parse()与Int32.TryParse()的比较
测试代码不写了,测试思路
定义string Mystr="123456";然后用三种方法分别转换,发现结果一样。
下来定义string Mystr=null;然后就会发现不同之处了
Convert.ToInt32()不抛出异常,返回值为0;
Int32.Parse()抛出异常;
Int32.TryParse()不抛出异常,但通过返回值是True还是Flase来判断解析是否成功。如果解析失败,返回值为Flase,则out调用的参数将会得到零值。
从性能上看,Int32.TryParse() > Int32.Parse() > Convert.ToInt32()
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 using System.Web.UI; 6 using System.Web.UI.WebControls; 7 using System.Text.RegularExpressions; 8 using System.Text; 9 10 namespace Dome 11 { 12 public partial class WebForm2 : System.Web.UI.Page 13 { 14 protected void Page_Load(object sender, EventArgs e) 15 { 16 //================1========================== 17 string Str = "Relict"; 18 int Len = Str.Length; 19 Response.Write(Str + "的长度为" + Len.ToString()); 20 Response.Write(""); 21 //================2========================== 22 byte[] bytStr = System.Text.Encoding.Default.GetBytes(Str); 23 Len = bytStr.Length; 24 Response.Write(Str + "的比特长度为:" + Len.ToString()); 25 Response.Write(""); 26 //===============5=========================== 27 //Response.Write(char.IsWhiteSpce("Relict Relict2012@foxmail.com", 6).ToString()); 28 //Response.Write(""); 29 //===============6=========================== 30 Response.Write(char.IsPunctuation('R').ToString()); 31 Response.Write(""); 32 //===============7=========================== 33 Response.Write((int)'中'); 34 Response.Write(""); 35 //===============8=========================== 36 Response.Write((char)22269); 37 Response.Write(""); 38 //===============9=========================== 39 Response.Write(" Relict 去除前后空格:" + " Relict ".Trim() + ";"); 40 Response.Write(""); 41 //===============10=========================== 42 Response.Write(Str.Replace("e", "e2012")); 43 Response.Write(""); 44 //===============11=========================== 45 Response.Write(Str.Substring(0, Str.Length - 1)); 46 Response.Write(""); 47 Response.Write(Str.TrimEnd('t')); 48 Response.Write(""); 49 Response.Write(Str.Remove(Str.Length - 1)); 50 Response.Write(""); 51 //===============12=========================== 52 Str = "Relict,Relict2012,Relict2012@foxmail.com"; 53 string[] StrArray = Str.Split(','); 54 //string[] StrArray = Str.Split(new char[]{','});这种写法也可以 55 foreach (string s in StrArray) 56 { 57 Response.Write(s.ToString() + ""); 58 } 59 Str = "RelictkRelict2012+Relict2012@foxmail.com"; 60 //得到以'k'和'+'分割的字符串数组 61 StrArray = Str.Split(new char[] { 'k', '+' }); 62 foreach (string s in StrArray) 63 { 64 Response.Write(s.ToString() + ""); 65 } 66 Str = "Relict&#%#&Relict2012&#%#&Relict2012@foxmail.com"; 67 StrArray = Regex.Split(Str, "&#%#&", RegexOptions.IgnoreCase); 68 foreach (string s in StrArray) 69 { 70 Response.Write(s.ToString() + ""); 71 } 72 //===============13=========================== 73 Response.Write(123456.ToString("n") + "");//123,456.00 74 Response.Write(123456.ToString("C") + "");//¥123,456.00 75 Response.Write(123456.ToString("e") + "");//1.234560e+005 76 Response.Write(123456.ToString("f4") + "");//123456.0000 77 Response.Write(123456.ToString("x") + "");//1e240 78 Response.Write(123456.ToString("p") + "");//12,345,600.00% 79 //===============14=========================== 80 //格式化输出 81 Response.Write(123456789.ToString("##-###-####")); 82 Response.Write(""); 83 //指定位置插入字符串 84 Response.Write(123456789.ToString().Insert(5, "-").Insert(2, "-")); 85 Response.Write(""); 86 //正则表达式匹配 87 Regex reg = new Regex(@"^(\d{2})(\d{3})(\d{4})$"); 88 Response.Write(reg.Replace("123456789", "$1-$2-$3")); 89 Response.Write(""); 90 //===============15=========================== 91 StringBuilder str21A = new StringBuilder(); 92 for (int i = 0; i < 21; i++) 93 { 94 str21A.Append("A"); 95 } 96 Response.Write(str21A.ToString()); 97 Response.Write(""); 98 Response.Write(new string('A', 21)); 99 Response.Write(""); 100 //===============16=========================== 101 Random r = new Random(); 102 Response.Write("返回非负随机整数" + r.Next().ToString() + ""); 103 Response.Write("返回指定最大值(10)的非负随机整数:" + r.Next(10).ToString() + ""); 104 Response.Write("返回指定最大值(10)的非负随机整数:" + (r.Next() % 10).ToString() + ""); 105 Response.Write("返回指定范围(0-20)内的随机整数:" + r.Next(0, 20).ToString() + ""); 106 Response.Write("返回0.0-1.0内的随机数:" + r.NextDouble().ToString() + ""); 107 108 } 109 } 110 }