asp.net常用到的字符串处理

 核心提示:asp.net日常用到的字符串的截取函数string str='123abc456';int i=3;1 取字符串的前i个字符str=str.Substring(0,i); // or str=str.Remove(i,str.Length-i); 2 去掉字符串的前i个字符:str=str.Rem...
asp.net日常用到的字符串的截取函数
string str="123abc456";
int i=3;
1 取字符串的前i个字符
str=str.Substring(0,i); // or str=str.Remove(i,str.Length-i);
2 去掉字符串的前i个字符:
str=str.Remove(0,i); // or str=str.Substring(i);
3 从右边开端取i个字符:
str=str.Substring(str.Length-i); // or str=str.Remove(0,str.Length-i);
4 从右边开端去掉i个字符:
str=str.Substring(0,str.Length-i); // or str=str.Remove(str.Length-i,i);
5 判断字符串中也许有"abc" 有则去掉之
using System.Text.RegularExpressions;
string str = "123abc456";
string a="abc";
Regex r = new Regex(a);
Match m = r.Match(str);
if (m.Success)
{
//绿色部份与紫色部份取一种即可。
str=str.Replace(a,"");
Response.Write(str);
string str1,str2;
str1=str.Substring(0,m.Index);
str2=str.Substring(m.Index+a.Length,str.Length-a.Length-m.Index);
Response.Write(str1+str2);
}
6 假如字符串中有"abc"则替换成"ABC"
str=str.Replace("abc","ABC");
7.取字符串中最后一个字符
string B = "abcdefg";

string A = B.Substring(B.Length - 1, 1);

Console.WriteLine("最后的字符是{0}",A);


 
 
asp.net中split的用法.html
第一种方法:
string s=abcdeabcdeabcde;
string[] sArray=s.Split(c) ;
foreach(string i in sArray)
Console.WriteLine(i.ToString());
输出下面的结果:
ab
deab
deab
de

-------------------
第二种方法:
我们看到了结果是以一个指定的字符进行的分割。使用另一种构造方法对多个字符进行分割:
string s=abcdeabcdeabcde
string[] sArray1=s.Split(new char[3]{c,d,e}) ;
foreach(string i in sArray1)
Console.WriteLine(i.ToString());
可以输出下面的结果:
ab
ab
ab
---------------------

第三种方法:
除了以上的这两种方法以外,第三种方法是使用正则表达式。新建一个控制台项目。然后先添加 using System.Text.RegularExpressions;
System.Text.RegularExpressions
string content=agcsmallmacsmallgggsmallytx;
string[]resultString=Regex.Split(content,small,RegexOptions.IgnoreCase)
foreach(string i in resultString)
Console.WriteLine(i.ToString());
输出下面的结果:
agc
mac
ggg
ytx
-----------------------------

第四种方法:
string str1=我*****是*****一*****个*****教*****师;
string[] str2;
str1=str1.Replace(*****,*) ;
str2=str1.Split(*) ;
foreach(string i in str2)
Console.WriteLine(i.ToString());

--------------------------------
第五种方法:
string str1=我**是*****一*****个*****教*****师;
我希望显示的结果为:我是一个教师。
我如果采用上面的第四种方法来做就会产生下面的错误:我 是一个教师。中间有空格输出,所以输出结果并不是希望的结果,这就又回到了正则表达式了,这时可以采用下面的第五种方法:
string str1=我**是*****一*****个*****教*****师;
string[] str2 = System.Text.RegularExpressions.Regex.Split(str1,@[*]+);
foreach(string i in str2)
Console.WriteLine(i.ToString());
这里通过[*]+ 巧妙的完成了我们的目标。

1、用字符串分隔:
using System.Text.RegularExpressions;
string str="aaajsbbbjsccc";
string[] sArray=Regex.Split(str,"js",RegexOptions.IgnoreCase);
foreach (string i in sArray) Response.Write(i.ToString() + "<br>");

输出结果:
aaa
bbb
ccc

2、用多个字符来分隔:

string str="aaajbbbscccjdddseee";

string[] sArray=str.Split(new char[2]{'j','s'});

foreach(string i in sArray) Response.Write(i.ToString() + "<br>");


输出结果:
aaa
bbb
ccc
ddd
eee

3、用单个字符来分隔:

string str="aaajbbbjccc";

string[] sArray=str.Split('j');

foreach(string i in sArray) Response.Write(i.ToString() + "<br>");

输出结果:
aaa
bbb
ccc
4, 有这样一组数
s00:2008-10-10,s01:2008-10-11,s02:2008-10-12
要输出这样的结果
s00 s01 s02
2008-10-10 2008-10-11 2008-10-12

方法1:

string a = "s00:2008-10-10,s01:2008-10-11,s02:2008-10-12";
string c = string.Empty, d = string.Empty;
foreach (string b in a.Split(','))
{
c += b.Split(':')[0] + " ";
d += b.Split(':')[1] + " ";
}
输出c和d.

方法2:

string str="s00:2008-10-10,s01:2008-10-11,s02:2008-10-12"
string[] arr=str.split(new char[]{':',','}));
for(int i=1;i <=arr.length;i++)
{
if(i%2>0)
{
response.write(arr[i]+" ");
}
else
{
response.write(" <br/>"+arr[i]);
}
}


========判断字符串中是否包含空格========================================
String str ="zhang jm";
if(str.indexOf(" ") == -1){
alert("正确");
return true;
}else{
alert("不能含有空格");
return false;
}

这种验证很简单。用到了indexOf函数.
当字符串.indexOf(" ") == -1 时说明字符串内不包含空格,否则说明字符串含有空格。

原文地址:https://www.cnblogs.com/qq1040991197/p/2644273.html