c#中怎样截取两特定字符之间的字符串

2024-10-30 22:09:39
推荐回答(5个)
回答1:

IndexOf 已重载。 报告 String 或一个或多个字符在zd此字符串中的第一个匹配项的索引。

IndexOf(Char) 报告指定 Unicode 字符在此字符串中的第一个匹配项的索引。

string stra = "abcdefghijk";

string strtempa = "c";

string strtempb = "j";

//要求c---g之间的字符串,也就是:defghi

//求得strtempa 和 strtempb 出现的位置:

int IndexofA = stra.IndexOf(strtempa);

int IndexofB = stra.IndexOf(strtempb);

string Ru = stra.Substring(IndexofA + 1, IndexofB - IndexofA -1);

Console.WriteLine("Ru = " + Ru); //

Console.ReadLine();

扩展资料:

C#拥有比C/C++或者Java更广泛的数据类型.这些类型是bool、byte、sbyte、short、ushort、int、uint、long、ulong、float、double和decimal,像Java一样,所有这些类型都有一个固定的大小.又像C和C++一样,每个数据类型都有有符号和无符号两种类型,与Java相同的是,一个字符变量包含的是一个16位的Unicode字符,C#新的数据类型是decimal数据类型,对于货币数据,它能存放28位10进制数字。

C# 中存在预编译指令支持条件编译,警告,错误报告和编译行控制.可用的预编译指令有:#define,#undef,#if,#elif,#else,#endif,#warning,#error,#line。

参考资料来源:百度百科-c#

回答2:

string stra = "abcdefghijk";
string strtempa = "c";
string strtempb = "j";
//我们要求c---g之间的字符串,也就是:defghi
//求得strtempa 和 strtempb 出现的位置:
int IndexofA = stra.IndexOf(strtempa);
int IndexofB = stra.IndexOf(strtempb);
string Ru = stra.Substring(IndexofA + 1, IndexofB - IndexofA -1);
Console.WriteLine("Ru = " + Ru); //----这就是你要的结果
Console.ReadLine();

回答3:

string a = "12312a!@#$%^798bXVBN";
int i= a.IndexOf("a");//找a的位置
int j = a.IndexOf("b");//找b的位置
a = (a.Substring(i + 1)).Substring(0, j - i - 1);//找出a和b之间的字符串

结果:!@#$%^798

回答4:

String s ="ABCD";

Console.WriteLine(s.substring(1));//从第二位一直截取到最后,输出"BCD"

Console.WriteLine(s.substring(2,2));//从第三位开始截取两位,输出"BC"

回答5:

System.Text.RegularExpressions.Regex itemRegex = new System.Text.RegularExpressions.Regex(@".*你(.*)猪", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
Console.WriteLine(itemRegex.Match("你是猪").Groups[1].Value);//是
Console.WriteLine(itemRegex.Match("你别提多爱吃猪肉了").Groups[1].Value);//别提多爱吃
Console.WriteLine(itemRegex.Match("我把你个死猪剁了吃").Groups[1].Value);//个死