C# 之 字符串截取--Substring

       说到字符串截取,大家首先相当的应该就是substring函数,今天就来给大家讲讲substring函数。

1.public String Substring(int startIndex);

       从此字符串检索子字符串。 子字符串从指定的字符位置(第startIndex个字符)开始,一直到此字符串末尾。

class Program
    {
        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函数实现上面我们所需要的功能的话,逻辑有些复杂,代码太多,一不小心就容易出错。那么下一篇博客就教大家怎么用别的函数简单实现我们想要的字符串截取功能。

时间: 2024-08-11 03:23:41

C# 之 字符串截取--Substring的相关文章

JavaScript中字符串截取substring/substr/slice方法总结

最近整前台总多多少少遇到一些字符串截取的小问题,忍不住仔细看了下.接下来总结一下javascript中字符串截取方法的一些应用经验和区别.看了其他博主也有写到,各有风格况且只是个人随记,自己体会的才最深刻. 一些看似简单深究又大有文章的东西弄懂了你才知道自己所学甚浅,部分内容是w3cSchool原文,然后增加了自己的总结和见解.看完有兴趣的也可以去官网查看. 以下为总结: var str = "0123456789"; //此字符串为上下文举例用 一.stringObject.subs

C# 之 字符串截取--Split

        上一篇博客<C# 之 字符串截取--Substring> 介绍了Substring函数,同时实现将"所属机构名称/教师姓名/课程类型/课程名称"中的所属机构名称,教师姓名,课程类型,课程名称分别截取出来.今天再给大家介绍一种字符串截取的函数Split. String.Split方法:返回的字符串数组包含此实例中的子字符串(由指定 Unicode 字符数组(separator)的元素分隔). String.Split方法的重载方法有六种类型,但是我觉得都大同小

C# 之 字符串截取--Regex.Match

        前两篇博客<C# 之 字符串截取--Substring>和<C# 之 字符串截取--Split>分别给大家介绍了Substring函数和Split函数,同时也实现了将"所属机构名称/教师姓名/课程类型/课程名称"中的所属机构名称,教师姓名,课程类型,课程名称分别截取出来的功能.今天又来给大家介绍一下怎么用正则表达式实现这个功能. Regex.Match方法:在输入字符串中搜索匹配正则表达式模式的子字符串,并将第一个匹配项作为单个Match对象返回

PHP:字符串转数组,数组转字符串;字符串截取、替换、查找

字符串转数组$str = 'one|two|three|four'; print_r(explode('|', $str)); //explode 以字符串分割字符串到数组 $str = 'one two three'; //str_split 以位数分割 $arr1 = str_split($str); $arr2 = str_split($str, 3); print_r($arr1); print_r($arr2); 打印如下:Array ( [0] => o [1] => n [2]

MySQL字符串函数substring:字符串截取

MySQL 字符串截取函数:left(), right(), substring(), substring_index().还有 mid(), substr().其中,mid(), substr() 等价于 substring() 函数,substring() 的功能非常强大和灵活. 1. 字符串截取:left(str, length) mysql> select left('example.com', 3);+-------------------------+| left('example.

js字符串截取函数slice()、substring()、substr()

摘要 在js中字符截取函数有常用的三个slice().substring().substr()了,下面我来给大家介绍slice().substring().substr()函数在字符截取时的一些用法与区别吧. 取字符串的三个函数:slice(start,[end]),substring(start,[end])和substr(start,[length]) 相关属性: slice() 第一个参数代表开始位置,第二个参数代表结束位置的下一个位置,截取出来的字符串的长度为第二个参数与第一个参数之间的

Mysql字符串截取函数SUBSTRING的用法说明

感觉上MySQL的字符串函数截取字符,比用程序截取(如PHP或JAVA)来得强大,所以在这里做一个记录,希望对大家有用. 函数: 1.从左开始截取字符串 left(str, length) 说明:left(被截取字段,截取长度) 例:select left(content,200) as abstract from my_content_t 2.从右开始截取字符串 right(str, length) 说明:right(被截取字段,截取长度) 例:select right(content,200

javascript字符串截取的substring、substr和slice

本文详细的介绍了javascript中substring().substr()和slice()三个JS字符串截取的方法,substring()方法用于提取字符串中介于两个指定下标之间的字符.substr 方法用于返回一个从指定位置开始的指定长度的子字符串. substring 方法用于提取字符串中介于两个指定下标之间的字符 substring(start,end) 参数 描述 start 必需.一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置. stop 可选.

字符串截取子串(Java substring , indexOf)

前言 因为之前java课设做的是股票分析系统,我找的接口返回的是一个.csv文件,因为这种文件里面的数据是以逗号分隔的,所以要对数据进行分析的时候需要截取子串,并且以逗号作为截取的标志.所以接下来就说一下我使用的字符串函数 substring和indexOf. -----------------------------------------------------------------------------------------------------------------------