C# 截取两个指定字符串中间的字符串列表

        /// <summary>
        /// 截取两个指定字符串中间的字符串列表(开始和结束两个字符串不能相同!)
        /// </summary>
        /// <param name="content"></param>
        /// <param name="startStr"></param>
        /// <param name="endStr"></param>
        /// <returns></returns>
        public static List<string> GetAllSubstring(string content, string startStr, string endStr)
        {
            List<string> resultList = new List<string>();

            int len = content.Length;
            int startLen = startStr.Length;
            int endLen = endStr.Length;
            for (var i = 0; i < len; i++)
            {
                string a = startStr.Substring(0, 1);
                if (content[i].ToString() == a)
                {
                    int startIndex = (i + startLen - 1);
                    if (startIndex < len)
                    {
                        a = content.Substring(i, startLen);
                        if (a.Equals(startStr))
                        {
                            // 循环找出结尾匹配
                            for (int endIndex = startIndex; endIndex < len; endIndex++)
                            {
                                var str = "";
                                for (int j = 0; j < endLen; j++)
                                {
                                    str += content[endIndex].ToString();
                                }
                                if (str == endStr&&endStr!=startStr)
                                {
                                    // 得到长度
                                    int splLen = endIndex - startIndex;
                                    string result = content.Substring(startIndex + 1, splLen - 1);
                                    resultList.Add(result);
                                    break;
                                }
                            }
                        }
                    }
                }
            }
            return resultList;
        }


例如
 var content = "{{first.DATA}}\n\n职位名称:{{job.DATA}}\n公司名称:{{company.DATA}}\n投递时间:{{time.DATA}}\n{{remark.DATA}}";
 var start = "{{";
 var end = "}}";
 var list =CommonHelper.GetAllSubstring(content, start, end);
 
  

 

 
 

 

转载于:https://www.cnblogs.com/HandSomeBoyIsMe/p/10783836.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值