数据载入中......
公告 |
| 数据载入中...... |

|
|
| |
|
[ASP.NET] C#字符串处理 |
| 开开心心 发表于:2008-8-5 17:12:41 |
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); } 其他方法见MSDN
转载请注明文章来自http://hi.baidu.com/chunquedong
首先介绍一下常用的几个功能:
compare(str1,str2)——比较两个字符串 str1,str2的大小,如果大于返回正数,等于返回0,小于返回负数!
indexof——定位字符串中第一次出现某个给定字符串的位置 PadLeft和PadRight——在字符串的开始和结尾用指定的字符填充字符串 ToLower和ToUpper把字符串转换为小写或大写形式 Trim——删除首尾空白 String.Replace——用指定的字符替换字符串中的指定字符。 C#中字符串的建立过程: 例如定义变量 strT=”Welcome to “; strT+=”www.sinory.com”; 程序首先创建一个System.String 类型的对象并初始化为“Welcome to”。此时编译程度会分配足够的内存来保存这个文本串。并用变量strT来表示这个实例。当执行strT+=”www.sinory.com”时,系统会创建一个新的实例,并分配足够的内存来保存复合后的文本。然后用变量strT来表示这个新的字符 串,就的字符串被撤消。当要进行大规模的字符替换与调整操作时,使用字符串来操作将严重影响性能。在这中情况下就可以用System.Text.StringBuilder类。 StringBuilder类并没有String 类的功能强大,只提供基本的替换和添加和删除字符串中的文本,但它的工作效率非常高,当定义StringBuilder对象时可以指定内存的内存容量,如果不指定系统就会根据对象初始化时的字符串长度来确定。它有两个主要参数Length和Capacity分别表示字符串的实际长度和字符串占据的内存空间长度。对字符串的修改就是在这个内存中进行的,大大提高了添加和替换的的效率。 如定义:StringBuilder sb=new StringBuilder(”Hello,Welcome”,100);//初始化对象并设置初始容量为100 sb.Append(” to www.sinory.com”); sb.Replace(old,new);//将old替换为new,作用与String.Replace()一样只是不需要在过程中复制字符。 StringBuilder的成员: StringBuilder sb=new StringBuilder(”www.sinory.com”);//定义初值为www.sinory.com的对象。 StringBuilder sb=new StringBuilder(20);初始化容量为20的空对象。 另外StringBuilder还有MaxCapacity属性用来限定对象可以使用的最大容量。默认大约是int.MaxValue(20亿) 可以在使用过程中定义sb.MaxCapacity=value; sb.Append(),给当前字符串追加字符串。 sb.AppendFormat()——添加特定格式的字符串 sb.Insert()——插入一个子字符串 sb.Remove()——从当前字符串删除字符 sb.Replace()——替换字符串中指定的字符 sb.ToString()——将sb转化为String 对象 来源:www.sinory.com 作者:sjklaus
String类型可以看作是char变量的只读数组。
//string类型变量可以看作char变量的只读数组的使用
string myString = “A string”;
//使用数组变量的ToCharArray()命令将string变量myString变量的字符串值赋给
//char类型的数组myChar为元素
char[] myChars = myString.ToCharArray();//ToCharArray()命令把字符串值转换成char数组元素
foreach (char myChar in myChars)//读取数组元素
{
Console.WriteLine(”{0}”,myChar);//或(myChar)
}
//string类型变量可以看作char变量的只读数组的使用
Console.WriteLine(”请输入要转换的字符串,把其转换为char数组元素”);
string myString = Console.ReadLine();//从屏幕得到字符串
Console.WriteLine(”你输入的字符串长度为:{0}”,myString .Length );//获取字符串的长度
//使用数组变量的ToCharArray()命令将string变量myString变量的字符串值赋给
//char类型的数组myChar为元素
char[] myChars = myString.ToCharArray();//ToCharArray()命令把字符串值转换成char数组元素
foreach (char myChar in myChars)//读取数组元素
{ Console.WriteLine(”{0}”,myChar);//或(myChar) }
//字符串大小写转换 Console.WriteLine(”请输入字母字符串:”); string myString =Console.ReadLine(); //myString = myString.ToLower(); //myString=myString.
Console.WriteLine(”小写形式:{0}”,myString.ToLower());//这种大小写转换输出的形式
Console.WriteLine(”大写形式:{0}”,myString .ToUpper ());
//字符串大小写转换命令 Console.WriteLine(”请输入字母字符串:”); string myString =Console.ReadLine(); //大小写转换命令:这两个命令与其他命令一样,并没有改变应用字符串的方式 //把这两个命令与字符串合并使用,就会创建一个新的字符串,以便与另一个字符进行 //比较,或者赋给另一个变量。
myString = myString.ToLower();
Console.WriteLine(”小写形式:{0}”, myString);
myString = myString.ToUpper();
Console.WriteLine(”大写形式:{0}”,myString);
//字符串大小写转换命令
Console.WriteLine(”请输入字母字符串:”); string myString =Console.ReadLine(); myString = myString.ToLower(); // myString = myString.ToUpper(); if (myString ==”YES”) Console.WriteLine(”大写形式:{0}”, myString); else Console.WriteLine(”小写形式:{0}”, myString);
//字符串大小写转换命令
Console.WriteLine(”请输入字母字符串:”);
string myString =Console.ReadLine();
//myString = myString.ToLower();
// myString = myString.ToUpper();
if (myString.ToUpper() ==”YES”)//布尔条件里面的使用检测字符串
Console.WriteLine(”大写形式:{0}”, myString);
else
Console.WriteLine(”{0}”, myString);
//删除空格命令 .Trim()
string userResponse = Console.ReadLine(); userResponse = userResponse.Trim();//用该命令处理后产生新地变量再赋给此变量:
if (userResponse.ToLower() == “yes”) Console.WriteLine(”OK!”); else Console .WriteLine (”NO!”);
//Trim命令,有删除字符空格的作用
char[] trimChars ={ ‘ ‘,’e’,’s’};//命名一个要被删除的字符的数组
string userResponse = Console.ReadLine();
userResponse = userResponse.ToLower();
userResponse = userResponse.Trim(trimChars);//Trim()括号的这种用法,里面是变量
if (userResponse == “y”)
{
Console.WriteLine(”.Trim()命令可以删除字符\”yes\”删除后e s 后变为:{0}”,userResponse );
}
//删除字符串前后字符命令,也可以指定char数组删除字符与空格
string mystring = Console.ReadLine();
mystring = mystring.TrimStart();//删除前面的空格
mystring = mystring.TrimEnd();//删除字符串后面的空格
Console.WriteLine(”删除字符串前面后面的空格:*{0}*”,mystring );
//添加空格 .trimStart() .trimEnd() 删除左右空格命令
string mystring = Console.ReadLine();
//为字符串添加空格
mystring = mystring.TrimStart();//删除前面的空格
mystring = mystring.PadLeft(10);//在字符串左面添加10 个空格
mystring = mystring.TrimEnd();//删除字符串后面的空格 mystring = mystring.PadRight(30);//在字符串的右面添加10 个空格 Console.WriteLine(”删除字符串前面后面的空格:*{0}*”,mystring );
//字符串的添加命令: .PadRight() . PadLeft() 使字符串达到指定的长度 string myString = Console.ReadLine(); //空格的添加命令,都是从左向右数字符串的长度进行添加 空格
myString = myString.PadLeft(10); Console.WriteLine(”*{0}*”,myString.PadRight (11));
//字符串左右添加空格字符命令
string myString = Console.ReadLine();
//PadLeft() PadRight() 向字符串左右添加 空格字符命令
myString = myString.PadLeft(10, ‘#’);
myString = myString.PadRight(20,’*’);
Console.WriteLine(”{0}”,myString);
//Split用指定的分隔符数组分隔字符串中 得其子字符串
string myString = “This is a test”;
char[] separator ={’ ‘};//‘a’ a为分隔符,此例为空格分隔符定义一个分隔符数组
string[] myWords;
//.Split命令可以把myString转换为string数组,并把它在指定的位置分隔开
//分隔符为数组中的元素!
myWords = myString.Split(separator ); //Split命令作用是用指定的分隔符分隔字符串,成为子字符串 子字符串赋给数组,作为元素输出
foreach (string word in myWords) { Console.WriteLine(”{0}”,word ); }
2007年01月07日 星期日 00:21 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); } 其他方法见MSDN
首先介绍一下常用的几个功能:
compare(str1,str2)——比较两个字符串 str1,str2的大小,如果大于返回正数,等于返回0,小于返回负数!
indexof——定位字符串中第一次出现某个给定字符串的位置 PadLeft和PadRight——在字符串的开始和结尾用指定的字符填充字符串 ToLower和ToUpper把字符串转换为小写或大写形式 Trim——删除首尾空白 String.Replace——用指定的字符替换字符串中的指定字符。 C#中字符串的建立过程: 例如定义变量 strT=”Welcome to “; strT+=”www.sinory.com”; 程序首先创建一个System.String 类型的对象并初始化为“Welcome to”。此时编译程度会分配足够的内存来保存这个文本串。并用变量strT来表示这个实例。当执行strT+=”www.sinory.com”时,系统会创建一个新的实例,并分配足够的内存来保存复合后的文本。然后用变量strT来表示这个新的字符 串,就的字符串被撤消。当要进行大规模的字符替换与调整操作时,使用字符串来操作将严重影响性能。在这中情况下就可以用System.Text.StringBuilder类。 StringBuilder类并没有String 类的功能强大,只提供基本的替换和添加和删除字符串中的文本,但它的工作效率非常高,当定义StringBuilder对象时可以指定内存的内存容量,如果不指定系统就会根据对象初始化时的字符串长度来确定。它有两个主要参数Length和Capacity分别表示字符串的实际长度和字符串占据的内存空间长度。对字符串的修改就是在这个内存中进行的,大大提高了添加和替换的的效率。 如定义:StringBuilder sb=new StringBuilder(”Hello,Welcome”,100);//初始化对象并设置初始容量为100 sb.Append(” to www.sinory.com”); sb.Replace(old,new);//将old替换为new,作用与String.Replace()一样只是不需要在过程中复制字符。 StringBuilder的成员: StringBuilder sb=new StringBuilder(”www.sinory.com”);//定义初值为www.sinory.com的对象。 StringBuilder sb=new StringBuilder(20);初始化容量为20的空对象。 另外StringBuilder还有MaxCapacity属性用来限定对象可以使用的最大容量。默认大约是int.MaxValue(20亿) 可以在使用过程中定义sb.MaxCapacity=value; sb.Append(),给当前字符串追加字符串。 sb.AppendFormat()——添加特定格式的字符串 sb.Insert()——插入一个子字符串 sb.Remove()——从当前字符串删除字符 sb.Replace()——替换字符串中指定的字符 sb.ToString()——将sb转化为String 对象 来源:www.sinory.com 作者:sjklaus
String类型可以看作是char变量的只读数组。
//string类型变量可以看作char变量的只读数组的使用
string myString = “A string”;
//使用数组变量的ToCharArray()命令将string变量myString变量的字符串值赋给
//char类型的数组myChar为元素
char[] myChars = myString.ToCharArray();//ToCharArray()命令把字符串值转换成char数组元素
foreach (char myChar in myChars)//读取数组元素
{
Console.WriteLine(”{0}”,myChar);//或(myChar)
}
//string类型变量可以看作char变量的只读数组的使用
Console.WriteLine(”请输入要转换的字符串,把其转换为char数组元素”);
string myString = Console.ReadLine();//从屏幕得到字符串
Console.WriteLine(”你输入的字符串长度为:{0}”,myString .Length );//获取字符串的长度
//使用数组变量的ToCharArray()命令将string变量myString变量的字符串值赋给
//char类型的数组myChar为元素
char[] myChars = myString.ToCharArray();//ToCharArray()命令把字符串值转换成char数组元素
foreach (char myChar in myChars)//读取数组元素
{ Console.WriteLine(”{0}”,myChar);//或(myChar) }
//字符串大小写转换 Console.WriteLine(”请输入字母字符串:”); string myString =Console.ReadLine(); //myString = myString.ToLower(); //myString=myString.
Console.WriteLine(”小写形式:{0}”,myString.ToLower());//这种大小写转换输出的形式
Console.WriteLine(”大写形式:{0}”,myString .ToUpper ());
//字符串大小写转换命令 Console.WriteLine(”请输入字母字符串:”); string myString =Console.ReadLine(); //大小写转换命令:这两个命令与其他命令一样,并没有改变应用字符串的方式 //把这两个命令与字符串合并使用,就会创建一个新的字符串,以便与另一个字符进行 //比较,或者赋给另一个变量。
myString = myString.ToLower();
Console.WriteLine(”小写形式:{0}”, myString);
myString = myString.ToUpper();
Console.WriteLine(”大写形式:{0}”,myString);
//字符串大小写转换命令
Console.WriteLine(”请输入字母字符串:”); string myString =Console.ReadLine(); myString = myString.ToLower(); // myString = myString.ToUpper(); if (myString ==”YES”) Console.WriteLine(”大写形式:{0}”, myString); else Console.WriteLine(”小写形式:{0}”, myString);
//字符串大小写转换命令
Console.WriteLine(”请输入字母字符串:”);
string myString =Console.ReadLine();
//myString = myString.ToLower();
// myString = myString.ToUpper();
if (myString.ToUpper() ==”YES”)//布尔条件里面的使用检测字符串
Console.WriteLine(”大写形式:{0}”, myString);
else
Console.WriteLine(”{0}”, myString);
//删除空格命令 .Trim()
string userResponse = Console.ReadLine(); userResponse = userResponse.Trim();//用该命令处理后产生新地变量再赋给此变量:
if (userResponse.ToLower() == “yes”) Console.WriteLine(”OK!”); else Console .WriteLine (”NO!”);
//Trim命令,有删除字符空格的作用
char[] trimChars ={ ‘ ‘,’e’,’s’};//命名一个要被删除的字符的数组
string userResponse = Console.ReadLine();
userResponse = userResponse.ToLower();
userResponse = userResponse.Trim(trimChars);//Trim()括号的这种用法,里面是变量
if (userResponse == “y”)
{
Console.WriteLine(”.Trim()命令可以删除字符\”yes\”删除后e s 后变为:{0}”,userResponse );
}
//删除字符串前后字符命令,也可以指定char数组删除字符与空格
string mystring = Console.ReadLine();
mystring = mystring.TrimStart();//删除前面的空格
mystring = mystring.TrimEnd();//删除字符串后面的空格
Console.WriteLine(”删除字符串前面后面的空格:*{0}*”,mystring );
//添加空格 .trimStart() .trimEnd() 删除左右空格命令
string mystring = Console.ReadLine();
//为字符串添加空格
mystring = mystring.TrimStart();//删除前面的空格
mystring = mystring.PadLeft(10);//在字符串左面添加10 个空格
mystring = mystring.TrimEnd();//删除字符串后面的空格 mystring = mystring.PadRight(30);//在字符串的右面添加10 个空格 Console.WriteLine(”删除字符串前面后面的空格:*{0}*”,mystring );
//字符串的添加命令: .PadRight() . PadLeft() 使字符串达到指定的长度 string myString = Console.ReadLine(); //空格的添加命令,都是从左向右数字符串的长度进行添加 空格
myString = myString.PadLeft(10); Console.WriteLine(”*{0}*”,myString.PadRight (11));
//字符串左右添加空格字符命令
string myString = Console.ReadLine();
//PadLeft() PadRight() 向字符串左右添加 空格字符命令
myString = myString.PadLeft(10, ‘#’);
myString = myString.PadRight(20,’*’);
Console.WriteLine(”{0}”,myString);
//Split用指定的分隔符数组分隔字符串中 得其子字符串
string myString = “This is a test”;
char[] separator ={’ ‘};//‘a’ a为分隔符,此例为空格分隔符定义一个分隔符数组
string[] myWords;
//.Split命令可以把myString转换为string数组,并把它在指定的位置分隔开
//分隔符为数组中的元素!
myWords = myString.Split(separator ); //Split命令作用是用指定的分隔符分隔字符串,成为子字符串 子字符串赋给数组,作为元素输出
foreach (string word in myWords) { Console.WriteLine(”{0}”,word ); } |
|
|
数据载入中......
|