当前位置:编程学习 > C#/ASP.NET >>

C#字符串处理


string字符串是char的集合,而char是Unicode的代码,所以char可以转化为int。
字符串在参数传递时为引用传递;可以使用空字符串("")。
一、字符串类型转换
1.转为char
可以用索引器来得到字符串中指定的字符,如:
string myString="hello";
char myChars;
myChars=myString[0];
要想得到一个char数组可以用如下方法:

char[] myChars = myString.ToCharArray();

char[]与string的不同之处在于char[]可以读写,而string只能读(改写只是对他的重构)
2.转为bety
byte[] bytStr = System.Text.Encoding.Default.GetBytes(str);
反转:
string string = Syste.Text.Encoding.ASCII.GetString( bytes, 0, nBytesSize ); 
3.转为int
int.parse(str);
4.转为string
用基类提供能的Tostring,如:
123.Tostring();
5.其他转化
Convert.To***(str);如:
Convert.ToInt32("123");
Convert.ToBoolean("123");
Convert.ToBoolean("false");
Convert是一个形式转换的类,不止能转字符串,我们可以用它的静态方法实现好多类型转换
6.转义字符
单个的char用"\",字符可以用"@"
例如:@"C:\WINDOWS\system32" 和 "C:\\WINDOWS\\system32" 是等价的

二、常见字符串处理方法
1.字符串比较
字符串.ComparTo(目标字符串)
"a".ComparTo("b");
2.查找子串
字符串.IndexOf(子串,查找其实位置) ;
字符串.LastIndexOf(子串) ;最后一次出现的位置
str.IndexOf("ab",0);
3.插入子串
字符串.Insert(插入位置,插入子串) ;
s.Insert(2,"ab");
4.移出子串
字符串.Remove(其实位置,移出数);
s.Remove(3,2);
5.替换子串
字符串.Replace(源子串,替换为);
s.Replace("-"," ");将-替换为空格
6.截取子串
字符串.Substring(截取其实位置,截取个数);
"abcdef".Substring(2,3);结果为cde
7.去空格
myString = myString.Trim(); //同时删除字符串前后的空格
char[] trimChars = {' ','e','s'}; //准备删除的字符
myString = myString.Trim(trimChars); //删除所有指定字符
myString = myString.TrimEnd(); //删除字符串后的空格
myString = myString.TrimStart(); //删除字符串前的空格
8.转换大小写
str.ToLower()转化成小写字母
str.ToUpper()转化成大写字母
Char.IsUpper(str,3)//判断一个字符串中的第n个字符是否是大写
9.拆分字符串
string[] Strs = myString.Split(' ',3); //按照空格进行拆分,并且返回前三个字符串,结果在字符串数组里
10.使字串达到指定长度
PadLeft()、PadRight() ,如:
string str1="00";
str1=str1.PadLeft(3,'1'); //无第二参数为加空格,结果为“100”
11.得到字符串长度
len=str.Length;
12.字符串遍历
string myString = "This is a test!";
foreach (char myChar in myString)
{
Console.Write("{0}",myChar);
}



我正在使用《Csdn收音机》第一时间获取最新动态! --------------------编程问答-------------------- 自己顶一个!

我正在使用《Csdn收音机》第一时间获取最新动态! --------------------编程问答-------------------- --------------------编程问答-------------------- 呵呵~ 帮你顶一个! --------------------编程问答-------------------- up --------------------编程问答-------------------- --------------------编程问答-------------------- 呵呵,我以为是问题呢,原来楼主什么都给了啊,顶! --------------------编程问答-------------------- 学习。记录 --------------------编程问答-------------------- 都是基础 顶一个 --------------------编程问答--------------------
引用 8 楼 qq346127416 的回复:
都是基础 顶一个
mark --------------------编程问答-------------------- --------------------编程问答-------------------- 学习了。。 --------------------编程问答-------------------- --------------------编程问答-------------------- 学习··········

顶·········· --------------------编程问答-------------------- --------------------编程问答-------------------- 有基础才有摩天大楼,我也来学习再巩固一下! --------------------编程问答-------------------- --------------------编程问答-------------------- 呵呵~ 帮你顶一个! --------------------编程问答-------------------- --------------------编程问答-------------------- 没办法, 看到好的东西我总想抄袭,
所以抄了. --------------------编程问答-------------------- --------------------编程问答-------------------- 一样顶个。。。 --------------------编程问答-------------------- --------------------编程问答-------------------- --------------------编程问答-------------------- 好东西,好人一生平安 --------------------编程问答-------------------- --------------------编程问答-------------------- 总结不错,辛苦了 --------------------编程问答-------------------- --------------------编程问答-------------------- 帮顶,xiexie lou zhu --------------------编程问答-------------------- --------------------编程问答-------------------- 真棒,哈哈哈!学习啦 --------------------编程问答-------------------- thank you very much
--------------------编程问答-------------------- 做个标记,以后慢慢学习。 --------------------编程问答--------------------
引用 32 楼 qingfengbj 的回复:
做个标记,以后慢慢学习。


mark --------------------编程问答-------------------- 顶一个  --------------------编程问答-------------------- 好人啊,正是我要的东西 --------------------编程问答-------------------- 定一个 --------------------编程问答-------------------- 学习额!!!!!!!! --------------------编程问答-------------------- 来过~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------------------编程问答-------------------- 吾也是
引用 37 楼 devilspie888 的回复:
学习额!!!!!!!!
--------------------编程问答-------------------- 受益匪浅 --------------------编程问答-------------------- --------------------编程问答-------------------- 顶顶。。。顺便来收分 --------------------编程问答-------------------- 10.使字串达到指定长度
PadLeft()、PadRight() ,如:
string str1="00";
str1=str1.PadLeft(3,'1'); //无第二参数为加空格,结果为“100”

这个牛B,拿走用了,哈哈 --------------------编程问答-------------------- 好帖!顶 --------------------编程问答--------------------
顶起~ --------------------编程问答-------------------- 不 错  
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,