qq_26534747
ChaveChen
采纳率63%
2015-07-21 09:25

c#关于字符串截取的问题

已采纳

我有个字符串比如a="abcdanmcadedcdeefako"那么我怎么能得到一个数组,其中数组的各项是字母a和c的中间字符,即第一项是"b"第二项"nm"第三项"ded"?求大神赐教,不知道是不是和Split有关?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

5条回答

  • danielinbiti danielinbiti 6年前
     static void Main(string[] args)
            {
                string a = "abcdanmcadedcdeefako";
                            Regex reg = new Regex("(?i)(?<=a)[^a]*(?=c)");
                MatchCollection mc = reg.Matches(a);
                foreach (Match m in mc)
                {
                    Console.WriteLine(m.Value);
                }
            }
    
    点赞 3 评论 复制链接分享
  • tongyi55555 JonsonJiao 6年前

    danielinbiti大神给的答案很棒。在JAVA中也可以

    点赞 评论 复制链接分享
  • sun2000way sun2000way 6年前
            string a = "abcdanmcadedcdeefako";
            a = a.Replace('a', ' ').Trim();  //去掉前后空格
            a = a.Replace('c', ' ').Trim();  //去掉前后空格
    
            string[] str = a.Split(' ') ;
            for (int i=0; i<str.Length ; i++)
            {
                if (str[i].Trim() != "")   //中间替换后有空格
                {
                    MessageBox.Show(str[i]);
                }
            }
    
    点赞 评论 复制链接分享
  • caozhy 从今以后生命中的每一秒都属于我爱的人 6年前

    foreach (string s in Regex.Matches(a, "a([a-z])+?c").Select(x => x.Groups[0].Value))
    ...

    点赞 评论 复制链接分享
  • lpfly lpfly 6年前

    你可以先用replace把a和c换成空格" ",然后用split,把空格错位分隔符。
    由于可能有a和c连续出现的情况,你可能会有连续多个空格出现,所以用split的时候记得检查你的得到的字符串是不是空的。

    点赞 评论 复制链接分享

相关推荐