C#  获取字符串信息
使用String类的Length和IndexOf()方法,可以实现对字符串一些操作,包括字符串的长度,在字符串中获取指定索引位置的字符和字符串的查等功能。
1.获取字符串长度
C#提供了length属性来获取字符串的长度。长度等于字符串中16位Unicode字符数。它的返回结果是此对象表示的字符序列的长度。下面通过一个实例,使用length属性来获取字符串的长度,详细代码如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace StrLength
{
    class Program
    {
        static void Main(string[] args)
        {
        String str1="abcde";
        String str2="hello wang";
        int a= str1.Length;              //获取字符串长度
        int b=str2.Length;
        Console.WriteLine("字符串str1的长度是:"+a);        //输出字符串长度
        Console.WriteLine("字符串str2的长度是:" + b);    //输出字符串长度
        }
    }
}
在上述代码中,创建了两个字符串变量str1和str2并赋值,通过字符串的length()方法将字符串的长度赋值整型给变量a和b,然后输出字符串的长度信息。执行上述代码,结果如图4-1所示。
图4-1  获取字符串长度
2.字符串查
查字符操作可以对某个字符串进行检索操作,获取其是否包含某一个字符或字符串,并返回逻辑值或获取的索引位置。在C#中,提供了4种可以进行查的方法,详细介绍如下:
IndexOf()方法
字符串的IndexOf()方法用于获取字符串或子字符串的位置,如果没有到相应的字符或字符串,则返回-1。其使用方法如下。
String1.IndexOf(String2);
在上面的代码中,String1关键字表示被判断的字符串变量实例名称,或其引用;String2关键字表示要查询的字符或子字符串。IndexOf()方法返回的是一个整数型的数值。
IndexOf()方法只能返回一个结果。因此,当字符串中包含多个检索的字符或字符串时,也只能将检索的第一个结果之索引位置返回。如果目标的字符串中不包含要索引的字符和字符串,则该方法将返回-1
除了直接进行检索外,IndexOf()方法还可以从指定的索引位置开始,进行字符或字符串的检索,其使用方法如下。
String1.IndexOf(String2 , StartIndex , [Counter]);
在上面的代码中,被中括号“[]”括住的参数为可选参数,这段代码新增了一个StartIndex关键字和一个Counter参数。StartIndex关键字表示开始进行检索的索引号;Counter关键字表示检索的字符区段长度。下面创建一个实例,来说明IndexOf()方法的使用,代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace StrIndexOf
{
    class Program
    {
        static void Main(string[] args)
        {
        //创建字符串
        String str="onetwothreefour"; 
        int a=str.IndexOf("e");
        int b = str.IndexOf("e", 4);
        int c = str.IndexOf("e", 12);
        Console.WriteLine(a);
        Console.WriteLine(b);
        Console.WriteLine(c);
        }
    }
}
在上述代码中,声明并赋值了一个字符串变量str,通过字符串的Indexof()方法对字符串str进行了3次索引查,并将返回的值分别赋值给变量a、b和c,最后输出检索信息。执行上述代码,结果如图4-2所示。
图4-2  IndexOf方法
IndexOfAny()方法
IndexOfAny()方法可返回任意字符在字符串实例中第一个匹配项的索引。IndexOfAny()方法与IndexOf()方法的区别在于,IndexOfAny()方法只能检索字符串中某一个字符,而不能检索某一个字符串。其参数的使用与IndexOf()方法类似。
LastIndexOfAny()方法
LastIndexOfAny()方法与LastIndexOf()方法的区别在于,LastIndexOfAny()方法只能检索字符串中某一个字符,而不能检索某一个字符串。其参数的使用与LastIndexOf()方法类似。
LastIndexOf()方法
LastIndexOf()方法的使用方式与IndexOf()方法完全相同,但其返回的结果有所区别。IndexOf()方法返回的是字符串中第一个被检索的字符或字符串的索引位置,而LastIndexOf()方法则与之相反,返回的是字符串中最后一个被检索的字符或字符串索引位置,其使用如下所示。
String1.LastIndexOf(String2 , [StartIndex] , [Counter]);
在上面的代码中,中括号“[]”括住的关键字为可选的关键字,其中String1关键字表示被搜索的目标字符串;String2关键字表示要检索的字符或字符串;StartIndex关键字表示目标字符串中的起始字符索引;Counter关键字表示检索的总长度。下面创建一个实例,来说明lastIndexOf()方法的使用,代码如下所示:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace StrLastIndexOf
{
    class Program
    {
        static void Main(string[] args)
        {
        String str="onetwothreefour";
        int a = str.LastIndexOf("o");
        int b = str.LastIndexOf("o", 4);
        int c = str.LastIndexOf("o", 12);
        Console.WriteLine(a);
        Console.WriteLine(b);
        Console.WriteLine(c);
        }
    }
}
在上述代码中,声明并赋值了一个字符串变量str,通过字符串的LastIndexOf字符串长度的正确表示()方法对字符串str进行了3次索引查,并将返回的值分别赋值给变量abc,最后输出检索信息。执行上述代码,结果如图4-3所示。
图4-3  LastIndexOf方法

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