有一字符串。不确定他的层次。
如:
1、中国\广东\广州\天河区
2、中国\广东\深圳\龙岗区两个问题如下:
1、请问如何根据"\"作了分割符取出最后一信息。如天河区?
2、请问如何根据"\"作了分割符取出任意分割符内的信息。如深圳?

解决方案 »

  1.   

    字符串有一个方法是IndexOf,该方法可以获得指定字符所在字符串的位置。
    仔细研究一下它就可以实现你的功能了!
      

  2.   

    .Split('\\') 得到一个数组,然后。
      

  3.   


    string[] arr = @"中国\广东\广州\天河区".Split(new char[]{'\\'});
    string area = arr[arr.Length-1];//天河区Random rd = new Random();
    string area2 = arr[rd.Next(0,arr.Length-1)]);//随机
      

  4.   

    Split()分割成数组,获取数组最后一个元素就行了
      

  5.   

    sorry,问题2去掉"-1":
    string area2 = arr[rd.Next(0,arr.Length)]);//随机
      

  6.   

    string str = "中国\广东\广州\天河区";
            string[] arr = str.Split('/');
            string str1= arr[0]; //获得国家
            string str2= arr[1]; //获得省
            string str3= arr[2]; //获得市
            string str4= arr[3]; //获得区
    这如果还看不懂 那就没得救了
      

  7.   

                string[] strs = @"中国\广东\广州\天河区".Split('\\');
                Response.Write(strs[strs.Length-1]);
      

  8.   

    另一种方法
    string str=@"中国\广东\广州\天河区";
    Response.Write(str.Substring(str.LastIndexOf("\\")+1,str.Length-str.LastIndexOf("\\")-1));
      

  9.   

    网上看的CREATE function Get_StrArrayStrOfIndex
    (
    @str varchar(1024), --要分割的字符串
    @split varchar(10), --分隔符号
    @index int --取第几个元素
    )
    returns varchar(1024)
    as
    begin
    declare @location int
    declare @start int
    declare @next int
    declare @seed int
     
    set @str=ltrim(rtrim(@str))
    set @start=1
    set @next=1
    set @seed=len(@split)
     
    set @location=charindex(@split,@str)
    while @location<>0 and @index>@next
    begin
       set @start=@location+@seed
       set @location=charindex(@split,@str,@start)
       set @next=@next+1
    end
    if @location =0 select @location =len(@str)+1 
    --这儿存在两种情况:1、字符串不存在分隔符号 2、字符串中存在分隔符号,跳出while循环后,@location为0,那默认为字符串后边有一个分隔符号。
     
    return substring(@str,@start,@location-@start)
    end
      

  10.   

    select ... like 取出后再分割