c#截取字符串指定符号_C#截取指定字符串函数

一、通过函数方式进行获取。

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

}

注意:获取前区的关键字不能为空!

eg:字符串:str=“luaikawa sent a message about Black Mini 3.5CH Channel Alloy Metal Helicopter Gyro RC Radio Remote Control Toy #190879181686”

错误写法:GetContent(str, “”, “sent a message about”, 8) 返回值为空字符串

正确写法:GetContent(str,  “sent a message about”, “”,8) 返回值为luaikawa

二、通过正则表达式方法:即取出以单词begin开头和单词end结尾之间的字符串

eg:Other:mrjohnnymars sent a message about Antiqued Collar Clip Punk Blouse Shirt Metal Gold Red Black Blue Tips Pin Brooch #370926469688

Regex:(?<=:)([.\S\s]*)(?=sent a message about)

C#用正则表达式获取开始和结束字符串中间的值

///

/// 获得字符串中开始和结束字符串中间得值

///

/// 字符串

/// 开始

/// 结束

///

public static string GetValue(string str, string s, string e)

{

Regex rg = new Regex("(?<=(" + s + "))[.\\s\\S]*?(?=(" + e + "))", RegexOptions.Multiline | RegexOptions.Singleline);

return rg.Match(str).Value;

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值