C#之字符串截取--Substring
说到字符串截取,⼤家⾸先相当的应该就是substring函数,今天就来给⼤家讲讲substring函数。
1.public String Substring(int startIndex);
从此字符串检索⼦字符串。⼦字符串从指定的字符位置(第startIndex个字符)开始,⼀直到此字符串末尾。
class Programwriteline方法属于类
{
static void Main(string[] args)
{
string s1 = "所属机构名称/教师姓名/课程类型/课程名称";
Console.WriteLine(s1.Substring(0));
Console.WriteLine(s1.Substring(4));
Console.WriteLine(s1.Substring(s1.Length));
Console.WriteLine("--------------------------------");
Console.WriteLine(s1.Substring(s1.Length+1));
}
}
2.public string Substring(int startIndex, int length);
从此字符串检索⼦字符串。 ⼦字符串从指定的字符位置第startIndex个字符)开始,且具有指定的长度(⼦字符串的长度length)。
class Program
{
static void Main(string[] args)
{
string s1 = "所属机构名称/教师姓名/课程类型/课程名称";
Console.WriteLine(s1.Substring(0,0));
Console.WriteLine(s1.Substring(4,10));
Console.WriteLine(s1.Substring(s1.Length,0));
Console.WriteLine("--------------------------------");
//Console.WriteLine(s1.Substring(4,s1.Length));    //字符串长度超出范围
//Console.WriteLine(s1.Substring(s1.Length,1));    //字符串长度超出范围
Console.WriteLine(s1.Substring(s1.Length+1));      //开始位置不能⼤于字符串长度
}
}
现在我们有这么⼀个需求,将"所属机构名称/教师姓名/课程类型/课程名称"这个字符串,按照"/"分别截取出来,下⾯看看我们⽤Substring函数怎么实现。
class Program
{
static void Main(string[] args)
{
string s1 = "所属机构名称/教师姓名/课程类型/课程名称";
int first = s1.IndexOf("/")+1;      //第⼀个"/"的位置
int second = s1.IndexOf("/", first + 1) + 1;      //第⼆个"/"的位置
int third = s1.IndexOf("/", second + 1) + 1;      //第三个"/"的位置
Console.WriteLine("第⼀个'/ '的位置: " + first);    //7
Console.WriteLine("第⼆个'/ '的位置: " + second );    //12
Console.WriteLine("第三个'/ '的位置: " + third );    //16
int startIndex1 = 0;
int length1 = first - 1;  //6--"所属机构名称"中"称"的位置
Console.WriteLine("length1=" + length1);
Console.WriteLine(s1.Substring(startIndex1,length1));  //所属机构名称--从第0个位置开始,6个字符            Console.WriteLine("-------------------------------------------------");
int startIndex2 = first ;    //7
int length2 = (second-1) -first;      //4--"教师姓名"中"名"的位置-第⼀个"/"的位置
Console.WriteLine("startIndex2=" + startIndex2);
Console.WriteLine("length2=" + length2);
Console.WriteLine(s1.Substring(startIndex2, length2));  //教师姓名--从第7个位置开始,4个字符
Console.WriteLine("-------------------------------------------------");
int startIndex3 = second  ;      //12
int length3 = (third -1)-second ;      //4--"课程类型"中"型"的位置-第⼆个"/"的位置
Console.WriteLine("startIndex3=" + startIndex3);
Console.WriteLine("length3=" + length3);
Console.WriteLine(s1.Substring(startIndex3, length3));  //课程类型--从第12个位置开始,4个字符            Console.WriteLine("-------------------------------------------------");
int startIndex4 = third ;  //17
Console.WriteLine("startIndex4=" + startIndex4);
Console.WriteLine(s1.Substring(startIndex4));  //课程名称--从第17个位置开始
Console.WriteLine("-------------------------------------------------");
}
}
Substring函数能实现字符串截取,⼀般和IndexOf函数⼀起使⽤。如果⽤Substring函数实现上⾯我们所需要的功能的话,逻辑有些复杂,代码太多,⼀不⼩⼼就容易出错。那么下⼀篇博客就教⼤家怎么⽤别的函数简单实现我们想要的字符串截取功能。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。