1.取字符串长度
string str = "chain";
int strLength = str.Length;2.字符替换
public string Replace(string oldValue,string newValue)3.字符串转为比特码
byte[] bytStr = System.Text.Encoding.Default.GetBytes(str);4.字符串相加
(1)StringBuilder
System.Text.StringBuilder sb = new System.Text.StringBuilder();
sb.Append("How");
sb.Append("are");
sb.Append("you");
string str="How"+"are"+"you";
StringBuilder 只分配一次内存,如果第二次连接内存不足,则修改内存大小;它每次默认分配16字节,如果内存不足,则扩展到32字节,如果仍然不足,继续成倍扩展。
如果频繁的扩展内存,效率大打折扣,因为分配内存,时间开销相对比较大。如果事先能准确估计程序执行过程中所需要的内存,从而一次分配足内存,效率大大提高。
如果字符串的数量不固定,就用StringBuilder,一般情况下它使用2n的空间来保证o(n)的整体时间复杂度,常数项接近于2。
因为这个算法的实用与高效,.net类库里面有很多动态集合都采用这种牺牲空间换取时间的方式,一般来说效果还是不错的。
(2)“+” 拼接字符串
现在在 C# 中,字符串进行拼接,可以直接用 “+” 而且可以直接用于数字类型的而不必转换(整形、浮点等都可以)
(3)string.Format 拼接字符串
该形式可以同时拼接多个字符串
string.Format("{0}{1}{2}{3}","a","b","c","d");5.截取字符串的一部分
string s1 = str.Substring(0,2)
字符串.Substring(起始位置,截取位数);6.查制定位置是否为空字符
char.IsWhiteSpace(字符串变量,位数)
string str="How are you";
Response.write(char.IsWhiteSpace(str,3)); //结果为true7.差字符串是否是标点符号
Respon.write(char.IsPunctuation('A'));//结果为false
char.IsPunctuation('字符')8.清除字符串前后包含的空格
string str=" hello ";
str = str.Trim();9.替换字符串:字符串变量.replace(str1,str2)
string str="你好";
str = str.Replace("你","他");10.Split的三种用法
1)用单个字符串分隔:
string str="aaa,bbb,ccc";
string[] sArray = str.Split(',');
2)用多个字符串分隔
string str="aaajbbbscccjdddseee";
//得到以'j'或's'分隔的各个字符串
string[] sArray = str.Split(new char[2]{'j','s'});
3)用字符串分隔:
using System.Text.RegularExpressions;
string str = "aaajsbbbjsccc";
//得到以'js’分隔的各个字符串
string[] sArray = Regex.Split(str,"js",RegexOptions.IgnoreCase);11.几种输出字符串的格式
12345.ToString("n");//生成12,345.00 自动加千分符
12345.ToString("C");//生成¥12,345.00
12345.ToString("e");//生成1.234500e+004
12345.ToString("f4");//生成12345.0000
12345.ToString("x");//生成3039(16进制)
12345.ToString("p");//生成1,234,500.00%12.把123456789转转换为12-345-6789的3种方法
(1)方法一
string str = "123456789";
str = int.Parse(a).ToString("##-###-####");
(2)方法二
string str = "123456789"
str = str.Insert(5,"-").Insert(2,"-");
(3)方法三
using System.Text.RegularExpressions;
string str="123456789";
Regex reg = new Regex(@"^(d{2})(d{3})(d{4})1-
3");
13.输出21个A的简单做法
一般会通过循环实现:
string str =" ";
for(int n=0;n<21 np>
{str + ="A";}
但下面这个方法更简单:string strA = new String('A',21);14.Int32.Parse() 与 Int32.TryParse() 与 Convert.ToInt32()的区别
他们都是将字符串强制转换为int32类型,当要转换的字符串为非空字符时他们三者的效果相同;
但要转换的字符串为null时
Int32.Parse()会抛出异常;
Convert.ToInt32()不会抛出异常,返回值为0;
Int32.TryParse()不会抛出异常,返回值为0,但当转换正确时返回的是true,否则返回false。
因此Int32.TryParse()性能优于Convert.ToInt32()优于Int32.Parse()。
12、字符串类(1)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...