设为首页 加入收藏
首 页 企业简介 项目案例 软件定制 行业软件 解决方案 企业资讯 服务专区 客服中心
服务项目
案例展示 更多 >>
·生产流程监控 2020/11/26
·上位机软件定制开发 2020/9/29
·手机端公众号集成开发 2020/6/5
·业务技能培训学习软件 2020/6/5
·润宇司法行政管理综合平… 2010/12/6
·连锁店管理系统软件 2010/7/31
·医院管理系统软件 2010/7/27
·驾校查询系统软件 2010/7/15
·生产管理系统软件 2010/1/30
·人事管理系统软件 2010/1/30
联系人:李先生
电  话:029-87878512
手  机:13468700578
地  址:西安市丝路国际创意梦工厂4号楼
在线咨询:  762176615
Email:junsoft@126.com
 
当前的位置 >> 返回首页 >> 解决方案
ASP.NET截取字符串函数(用于网页内容分析与采集
发布者:西安软件公司   发布时间:2010/3/30   阅读:319次

public string GetContent(string str, string start, string last, int n)
      {
          if (str.ToLower().IndexOf(start.ToLower())>=0)
          {
              switch (n)
              {
                  //左右都截取(都取前面)(包含关键字)
                  case 1: str = str.Substring(str.ToLower().IndexOf(start.ToLower()), str.Length - str.ToLower().IndexOf(start.ToLower())); str = str.Substring(0, str.ToLower().IndexOf(last.ToLower()) + last.Length); break;
                  //左右都截取(都取前面)(去除关键字)
                  case 2: str = str.Substring(str.ToLower().IndexOf(start.ToLower()) + start.Length, str.Length - str.ToLower().IndexOf(start.ToLower()) - start.Length); str = str.Substring(0, str.ToLower().IndexOf(last.ToLower())); break;
                  //左右都截取(都取后面)(包含关键字)
                  case 3: str = str.Substring(str.ToLower().LastIndexOf(start.ToLower()), str.Length - str.ToLower().LastIndexOf(start.ToLower())); str = str.Substring(0, str.ToLower().LastIndexOf(last.ToLower()) + last.Length); break;
                  //左右都截取(都取后面)(去除关键字)
                  case 4: str = str.Substring(str.ToLower().LastIndexOf(start.ToLower()) + start.Length, str.Length - str.ToLower().LastIndexOf(start.ToLower()) - start.Length); str = str.Substring(0, str.ToLower().LastIndexOf(last.ToLower())); break;
                  //只往左截取(取前面的)(包含关键字)
                  case 5: str = str.Substring(0, str.ToLower().IndexOf(start.ToLower()) + start.Length); break;
                  //只往左截取(取前面的)(去除关键字)
                  case 6: str = str.Substring(0, str.ToLower().IndexOf(start.ToLower())); break;
                  //只往左截取(取后面的)(包含关键字)
                  case 7: str = str.Substring(0, str.ToLower().LastIndexOf(start.ToLower()) +start.Length); break;
                  //只往左截取(取后面的)(去除关键字)
                  case 8: str = str.Substring(0, str.ToLower().LastIndexOf(start.ToLower())); break;
                  //只往右截取(取前面的)(包含关键字)
                  case 9: str = str.Substring(str.ToLower().IndexOf(start.ToLower()), str.Length - str.ToLower().IndexOf(start.ToLower())); break;
                  //只往右截取(取前面的)(去除关键字)
                  case 10: str = str.Substring(str.ToLower().IndexOf(start.ToLower()) + start.Length, str.Length - str.ToLower().IndexOf(start.ToLower()) - start.Length); break;
                  //只往右截取(取后面的)(包含关键字)
                  case 11: str = str.Substring(str.ToLower().LastIndexOf(start.ToLower()), str.Length - str.ToLower().LastIndexOf(start.ToLower())); break;
                  //只往右截取(取后面的)(去除关键字)
                  case 12: str = str.Substring(str.ToLower().LastIndexOf(start.ToLower())+start.Length, str.Length - str.ToLower().LastIndexOf(start.ToLower())-start.Length); break;
                  //左右都截取(一前一后)(包含关键字)
                  case 13: str = str.Substring(str.ToLower().IndexOf(start.ToLower()), str.Length - str.ToLower().IndexOf(start.ToLower())); str = str.Substring(0, str.ToLower().LastIndexOf(last.ToLower()) + last.Length); break;
                  //左右都截取(一前一后)(去除关键字)
                  case 14: str = str.Substring(str.ToLower().IndexOf(start.ToLower()) + start.Length, str.Length - str.ToLower().IndexOf(start.ToLower()) - start.Length); str = str.Substring(0, str.ToLower().LastIndexOf(last.ToLower())); break;
                  default: break;
              }
          }
          return str;
      }



改进版:

public string GetContent(string str, string start, string last, int n)
      {
          if (str.ToLower().IndexOf(start.ToLower()) >= 0)
          {
              if (str.ToLower().IndexOf(last.ToLower()) >= 0)
              {
                  switch (n)
                  {
                      //左右都截取(都取前面)(包含关键字)
                      case 1: str = str.Substring(str.ToLower().IndexOf(start.ToLower()), str.Length - str.ToLower().IndexOf(start.ToLower())); str = str.Substring(0, str.ToLower().IndexOf(last.ToLower()) + last.Length); break;
                      //左右都截取(都取前面)(去除关键字)
                      case 2: str = str.Substring(str.ToLower().IndexOf(start.ToLower()) + start.Length, str.Length - str.ToLower().IndexOf(start.ToLower()) - start.Length); str = str.Substring(0, str.ToLower().IndexOf(last.ToLower())); break;
                      //左右都截取(都取后面)(包含关键字)
                      case 3: str = str.Substring(str.ToLower().LastIndexOf(start.ToLower()), str.Length - str.ToLower().LastIndexOf(start.ToLower())); str = str.Substring(0, str.ToLower().LastIndexOf(last.ToLower()) + last.Length); break;
                      //左右都截取(都取后面)(去除关键字)
                      case 4: str = str.Substring(str.ToLower().LastIndexOf(start.ToLower()) + start.Length, str.Length - str.ToLower().LastIndexOf(start.ToLower()) - start.Length); str = str.Substring(0, str.ToLower().LastIndexOf(last.ToLower())); break;
                      //左右都截取(一前一后)(包含关键字)
                      case 5: str = str.Substring(str.ToLower().IndexOf(start.ToLower()), str.Length - str.ToLower().IndexOf(start.ToLower())); str = str.Substring(0, str.ToLower().LastIndexOf(last.ToLower()) + last.Length); break;
                      //左右都截取(一前一后)(去除关键字)
                      case 6: str = str.Substring(str.ToLower().IndexOf(start.ToLower()) + start.Length, str.Length - str.ToLower().IndexOf(start.ToLower()) - start.Length); str = str.Substring(0, str.ToLower().LastIndexOf(last.ToLower())); break;
                      default: str = ""; break;
                  }
              }
              else
              {
                  switch (n)
                  {
                      //只往左截取(取前面的)(包含关键字)
                      case 7: str = str.Substring(0, str.ToLower().IndexOf(start.ToLower()) + start.Length); break;
                      //只往左截取(取前面的)(去除关键字)
                      case 8: str = str.Substring(0, str.ToLower().IndexOf(start.ToLower())); break;
                      //只往左截取(取后面的)(包含关键字)
                      case 9: str = str.Substring(0, str.ToLower().LastIndexOf(start.ToLower()) + start.Length); break;
                      //只往左截取(取后面的)(去除关键字)
                      case 10: str = str.Substring(0, str.ToLower().LastIndexOf(start.ToLower())); break;
                      //只往右截取(取前面的)(包含关键字)
                      case 11: str = str.Substring(str.ToLower().IndexOf(start.ToLower()), str.Length - str.ToLower().IndexOf(start.ToLower())); break;
                      //只往右截取(取前面的)(去除关键字)
                      case 12: str = str.Substring(str.ToLower().IndexOf(start.ToLower()) + start.Length, str.Length - str.ToLower().IndexOf(start.ToLower()) - start.Length); break;
                      //只往右截取(取后面的)(包含关键字)
                      case 13: str = str.Substring(str.ToLower().LastIndexOf(start.ToLower()), str.Length - str.ToLower().LastIndexOf(start.ToLower())); break;
                      //只往右截取(取后面的)(去除关键字)
                      case 14: str = str.Substring(str.ToLower().LastIndexOf(start.ToLower()) + start.Length, str.Length - str.ToLower().LastIndexOf(start.ToLower()) - start.Length); break;
                      default: str = ""; break;
                  }
              }
          }
          else
          {
              str = "";
          }
          return str;
      }
网站首页 | 关于我们 | 售后服务 | 网站地图 | 查看留言 | 在线留言 | 客服中心
© 版权所有:西安润宇软件科技有限公司 
公司地址:西安市丝路国际创意梦工厂4号楼 联系电话:029-87878512 手机:13468700578 联系人:李先生
Copyright ® 2011-2023 Xbwbw.com Inc. All Rights Reserved 
技术支持:西安润宇软件科技有限公司  陕ICP备11000720号