chanayonghen
2019-04-22 15:24
采纳率: 60%
浏览 254

C#winform的大佬们帮一下 如何获取两个特定字符之间的string 这两个特定值出现多次

例如:
string a="一二三嗯嗯嗯额恩五六七二三四啊啊啊啊啊五六七八";
截取三和五之间的string,三和五出现了两次
两次之间的值都要

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • qq_36442647 2019-04-22 15:54
    已采纳
            string a = "一二三嗯嗯嗯额恩五六七二三四啊啊啊啊啊五六七八";
            string result = "";
            if (a.IndexOf('三') > -1)
            {
                string[] str = a.Split('三');
                for (int k = 0; k < str.Length; k++)
                {
                    if (str[k].IndexOf('五') > -1)
                    {
                        result += str[k].Substring(0, str[k].IndexOf('五'))+",";
                    }
                }
            }
            if (!string.IsNullOrEmpty(result))
            {
                result = result.Substring(0, result.Length - 1);
            }
    
    点赞 评论
  • 1进击的小白 2019-04-22 16:21
            public static void Main(string[] args)
            {
                substring("一二三嗯嗯嗯额恩五六七二三四啊啊啊啊啊五六七八", "三", "五");
            }
    public static List<string> substring(string a,string first,string last)
            {
                List<string> strList = new List<string>();
                int star = a.IndexOf(first);
                int stop = a.IndexOf(last);
                while (star > -1 && stop > -1)
                {
                    if (stop > star)
                    {
                        string str = a.Substring(star + 1, stop - star - 1);
                        a = a.Remove(star, stop - star + 1);
                        strList.Add(str);
                    }
                    else
                    {
                        a = a.Remove(stop, 1);
                    }
                    star = a.IndexOf(first);
                    stop = a.IndexOf(last);
                }
    
                return strList;
            }
    
    点赞 评论

相关推荐 更多相似问题