c#截取两个指定字符串中间的字符串(转载)

摘要:
˂=(“+startstr+”)[.\s\s]*?
转载来源:https://www.cnblogs.com/jolins/p/9714238.html 

写法有很多,记录常用的两种:

1、正则表达式

1          public static string MidStrEx_New(string sourse, string startstr, string endstr)
2         {
3             Regex rg = new Regex("(?<=(" + startstr + "))[.\s\S]*?(?=(" + endstr + "))", RegexOptions.Multiline | RegexOptions.Singleline);
4             return rg.Match(sourse).Value;
5         }    

2、利用字符串indexof截取:

复制代码
 1         public static string MidStrEx(string sourse, string startstr, string endstr)
 2         {
 3             string result = string.Empty;
 4             int startindex, endindex;
 5             try
 6             {
 7                 startindex = sourse.IndexOf(startstr);
 8                 if (startindex == -1)
 9                     return result;
10                 string tmpstr = sourse.Substring(startindex + startstr.Length);
11                 endindex = tmpstr.IndexOf(endstr);           
12                 if (endindex == -1)
13                     return result;
14                 result = tmpstr.Remove(endindex);
15             }
16             catch (Exception ex)
17             {
18                 Log.WriteLog("MidStrEx Err:" + ex.Message);
19             }
20             return result;
21         }    
复制代码

就效率来说,测试了几次,方法2比方法1大约快10倍

免责声明:文章转载自《c#截取两个指定字符串中间的字符串(转载)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇.net core ef 通过dbfirst方式连接sql server数据库C#中对Winform中的DataGridView的控制技巧。(单独控制某单元格的按钮不显示、某单元格的ReadOnly)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

加密文件之Java改进版

对应Python版:加密文件之Python版Java版比Python版要快得多,两个版本不在一个量级上。在加密解密1G大文件时,Java版花费的时间是秒级,而Python版花费的时间是10分钟级。 import java.io.File; import java.io.IOException; import java.io.RandomAccessFi...

c#读入,写入文本文件

老师留下的作业最后一条题目用到了,就百度下找到了例子修改成两个函数子程序方便使用. //********************************************** //函数名:ReadFile //功能:把指定文本内的数据读出并返回 //参数: FileName文件名 //返...

Scala 面向对象(八):特质(接口) 一

1 Scala接口的介绍 从面向对象来看,接口并不属于面向对象的范畴,Scala是纯面向对象的语言,在Scala中,没有接口。 Scala语言中,采用特质trait(特征)来代替接口的概念,也就是说,多个类具有相同的特征(特征)时,就可以将这个特质(特征)独立出来,采用关键字trait声明。 理解trait 等价于(interface + abstract...

自定义标签

在实际的开发中,如为了简化JSP中出现大量的JSP脚本,那么我们需要使用标准标签库和EL表达式,但是和新标签库中提供的标签是有限的,不可能完全满足开发的需要。如:分页。因此需要学习如何自定义自己的标签库。 如果要实现自定义标签,那么需要如下几步: 编写标签处理类 需要继承或者实现相关的类或者接口 编写标签描述文件 该文件是一个XML文件,而且必须放在网站的...

微信小程序基于腾讯云对象存储的图片上传

在使用腾讯云对象存储之前,公司一直使用的是传统的FTP的上传模式,而随着用户量的不断增加,FTP所暴露出来的问题也越来越多,1.传输效率低,上传速度慢。2.时常有上传其他文件来攻击服务器,安全上得不到保障。所以我们在经过慎重考虑觉得使用第三方的云存储服务。 在最开始的时候我们在腾讯云与阿里云中选择,最终我们选择腾讯云,腾讯云在文件上传用时方面的性能比较突出...

String源码详解

一、基本概念。     1、继承实现关系。因为被final修饰,因此是不可继承的String类,避免被他人继承后修改。实现了三个接口。可序列、可比较,有序。几个String兄弟类     2、本质就是字符数组,同时,它是不可变的。 二、成员变量。      1、字符数组value。访问权限私有,因此String类外具有不可访问特点,因为具有final...