ibcadmin 发表于 2015-4-16 09:27:32

C#截取字符串的几种方式【转】

1.根据单个分隔字符用split截取
例如
string st="GT123_1";

string[] sArray=st.split('_');

即可得到sArray="GT123",sArray="1";

2.利用多个字符来分隔字符串
例如
string str = "GTAZB_JiangjBen_123";
string[] sArray = str.Split(new char { 'j', '_' });
foreach(string e in sArray)
{
Console.WriteLine(e);
}
得到sArray="GTAZB",sArray="Jiang",sArray="Ben",sArray="123";

3根据字符串或字符串组来截取字符串
例如
string str = "GTAZB_JiangjBen_123";
string[] sArray = str.Split( new string[]{"Ji","jB"}, StringSplitOptions.RemoveEmptyEntries);
foreach(string e in sArray)
{
Console.WriteLine(e);
}
得到sArray="GTAZB_",sArray="ang",sArray="en_123";

4提取字符串中的第i个字符开始的长度为j的字符串;
例如

string str = "GTAZB_JiangjBen_123";
int start=3,length=8;
Console.WriteLine(str.Substring(start-1, length));
输出得到AZB_Jian。

5提取字符串中右数长度为i的字符串

string str = "GTAZB_JiangjBen_123";
string tSt;
int i=5;
tSt = str.Substring(str.Length - i);
Console.WriteLine(tSt);
输出n_123;

6替换字符串中的特定字符串

string str = "GTAZB_JiangjBen_123";
string tSt;
tSt = str.Replace("123","321");
Console.WriteLine(tSt);
输出GTAZB_JiangjBen_321

7删除字符串中的特定字符串Jiangj(JS方法replace )

string str = "GTAZB_JiangjBen_123";
string tSt;
tSt = str.Replace("Jiangj","");
Console.WriteLine(tSt);
输出GTAZB_Ben_123

8删除指定位置(第i个)的指定长度(length)的字符串

string str = "GTAZB_JiangjBen_123";

int i=5,length=8;
str=str.remove(i,length);
console.writeline(str);

输出GTAZBen_123。

冰果_C 发表于 2015-4-16 09:37:37

复习一下

fqt2004 发表于 2015-4-16 19:02:11

第一种写法有错,正确的应该是st.Split('_');

fqt2004 发表于 2015-4-16 19:04:18


第一种写法有错,这是一个具有语法错误的语句,Split 的 separator 参数应该是 char[] 或 string[],不应是字符串

ibcadmin 发表于 2015-4-16 20:10:41

fqt2004 发表于 2015-4-16 11:04
第一种写法有错,这是一个具有语法错误的语句,Split 的 separator 参数应该是 char[] 或 string[],不应 ...

:handshake谢谢反馈
页: [1]
查看完整版本: C#截取字符串的几种方式【转】