C#字符串常见操作

时间:2021-05-05 16:13:19

1.取字符串长度

string str = "chain";

int strLength = str.Length;

 

2.字符串转为比特码

byte[] bytStr = System.Text.Encoding.Default.GetBytes(str);

strLength = bytStr.Length;

 

3.字符串相加

System.Text.StringBuilder sb = new System.Text.StringBuilder();

sb.Append("How");

sb.Append("are");

sb.Append("you");

string str="How"+"are"+"you";

 

4.截取字符串的一部分

string s1 = str.Substring(0,2)

字符串.Substring(起始位置,截取位数);

 

5.查制定位置是否为空字符

string str="How are you";

Response.write(char.IsWhiteSpace(str,3)); //结果为true

char.IsWhiteSpace(字符串变量,位数)

 

6.差字符串是否是标点符号

Respon.write(char.IsPunctuation('A'));//结果为false

char.IsPunctuation('字符')

 

7.清除字符串前后包含的空格

string str="  hello  ";

str = str.Trim();

 

8.替换字符串:字符串变量.replace(str1,str2)

string str="你好";

str = str.Replace("你","他");

 

9.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);

 

10.几种输出字符串的格式

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%

 

11.把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})$");

str = reg.Replace(str,"$1-$2-$3");

 

12.输出21个A的简单做法

一般会通过循环实现:

string str =" ";

for(int n=0;n<21;n++)

{str + ="A";}

但下面这个方法更简单:string strA = new String('A',21);

 

13.得到随机数的方法

Random r = new Random();
int n1 = r.Next(); //返回非负随机整数
int n2 = r.Next(10);//返回一个不大于10的非负随机整数
int n3 = r.Next()%10;//返回一个不大于10的非负随机整数
int n4 = r.Next(1,20)//返回一个指定范围的随机整数
int d5 = r.NextDouble();//返回一个介于0.0~1.0之间的数


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()。