C# 截取字符串

   //str为要进行截取的字符串,start是第一个关键字(字符串),last是第二个关键字(字符串)  
public static 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;   
   } 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值