///<summary>
///取出文本中间内容
///<summary>
///<param name="left">左边文本</param>
///<param name="right">右边文本</param>
///<param name="text">全文本</param>
///<return>完事返回成功文本|没有找到返回空</return>
public static string TextGainCenter(string left, string right, string text) {
//判断是否为null或者是empty
if (string.IsNullOrEmpty(left))
return "";
if (string.IsNullOrEmpty(right))
return "";
if (string.IsNullOrEmpty(text))
return "";
//判断是否为null或者是empty int Lindex = text.IndexOf(left); //搜索left的位置 if (Lindex == -1){ //判断是否找到left
return "";
} Lindex = Lindex + left.Length; //取出left右边文本起始位置 int Rindex = text.IndexOf(right, Lindex);//从left的右边开始寻找right if (Rindex == -1){//判断是否找到right
return "";
} return text.Substring(Lindex, Rindex - Lindex);//返回查找到的文本
}

例子:

left(string):指定的左边文本   例:前

right(string):指定的右边文本 例:左

text(string):欲查找的全部文本 例:前后左右

TextGainCenter("前","左","前后左右");

结果:"右"

解释:

用到的方法

IndexOf(left)

这个是用来获取left也就是"前"在text(前后左右)中的位置 用Lindex表示

Lindex = Lindex + left.length

获取的位置是在left开始的位置 例: 获取的位置 (|前后左右) “|”为输入时的光标

用获取的位置加上left的长度就是left右边第一个字符的起始位置 例: 获取的位置 (前|后左右) “|”为输入时的光标

IndexOf(right,Lindex)

这个用来获取在left右边的right在text中的位置 用Rindex表示

{

因为这是取的left和right中间的内容,如果left左边有字符与right相同的话,Rindex会返回left左边那个字符的位置

}

Substring(开始截取的位置,截取的字符串长度)

text.Substring(Lindex,Rindex-Lindex)

Rindex - Lindex = left与right中间字符串的长度

所以用这个方法返回的结果为:后

c#如何取出指定的中间文本的更多相关文章

  1. sql 中如何取出指定行: Row_Number

    原文:sql 中如何取出指定行: Row_Number ROW_NUMBER (Transact-SQL) USE AdventureWorks2008R2;GOWITH OrderedOrders ...

  2. PHP 数组中取出随机取出指定数量子值集

    #关键:array_rand() 函数返回数组中的随机键名,或者如果您规定函数返回不只一个键名,则返回包含随机键名的数组.#思路:先使用array_rand()随机取出所需数量键名,然后将这些键名指向 ...

  3. Map / Set / Treeset 取出指定下标index的元素

    Treeset 属于 set  集合中的一种数据类型,HashSet 以及LinkedHashSet 原理相同 需求:想直接在Treeset类型下,取出指定下标的元素,但是Set 下没有 get()方 ...

  4. 使用python脚本实现基于指定字符串的文本排序

    朋友用ansible导出了一个文件,文件中包含上千台机器的磁盘信息,他想要知道哪些机器最需要赶紧扩磁盘.思路是,按剩余磁盘空间百分数,从小到大对文本内容重新排序.下面是具体实现. 源文件ip.txt的 ...

  5. java利用POI实现读取Word并获取指定样式的文本

    import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.model.StyleDescription; import o ...

  6. iOS 设置文本中指定某段文本的颜色 大小

    NSString *money = @"300"; NSString *perStr = @"元/时"; NSString *text = [NSString  ...

  7. php 对中文字符串的处理- 随机取出指定个数的汉字

    mb_internal_encoding("UTF-8"); $str="们以我到他会作时要动国产的一是工就年阶义发成部民可出能方进在岭骗休借了不和有大这主中人上为来分生 ...

  8. 扩展jQuery---选中指定索引的文本

    <script type="text/javascript"> //1.扩展jQuery $.fn.selectRange = function (start, end ...

  9. console 打印消息时,可以使用 %c 指定随后的文本样式; %s 可引用参数变量。

    1.console.log 使用 加%c console.log('%c Merry Christmas!!', 'color:green;background:yellow;text-shadow: ...

随机推荐

  1. Python图像读写方法对比

    训练视觉相关的神经网络模型时,总是要用到图像的读写.方法有很多,比如matplotlib.cv2.PIL等.下面比较几种读写方式,旨在选出一个最快的方式,提升训练速度. 实验标准 因为训练使用的框架是 ...

  2. 类和对象在JVM中是如何存储的,竟然有一半人回答不上来!

    前言 这篇博客主要来说说类与对象在JVM中是如何存储的,由于JVM是个非常庞大的课题,所以我会把他分成很多章节来细细阐述,具体的数量还没有决定,当然这不重要,重点在于是否可以在文章中学到东西,是否对J ...

  3. Spring Boot 2.4.0 正式发布!全新的配置处理机制,拥抱云原生!

    2020年11月12日,Spring官方发布了Spring Boot 2.4.0 GA的公告. 在这个版本中增加了大量的新特性和改进,下面我们一起看看在这个重要版本中都有哪些值得关注的内容! 更新内容 ...

  4. linux nf_conntrack 连接跟踪机制 2

    连接跟踪初始化 基础参数的初始化:nf_conntrack_standalone_init 会调用nf_conntrack_init_start 完成连接跟踪基础参数的初始化, hash slab 扩 ...

  5. shell编程之awk

    awk是一种用于处理数据和生成报告的编程语言 awk可以在命令行中进行一些简单的操作,也可以被写成脚本来处理较大的应用问题 awk与grep.sed结合使用,将使shell编程更加容易 awk工作模式 ...

  6. centos6 安装 terminator

    yum install terminator 报错: No package terminator available. 解决: yum install epel-release 报错 Cannot r ...

  7. Java 开发之 Lombok 必知必会

    转载链接地址:https://juejin.im/post/5cf3edf7e51d454f71439c79 1. 前言 在目前众多编程语言中,Java 语言的表现还是抢眼,不论是企业级服务端开发,还 ...

  8. tp5 上传视频方法

    控制器调用 /** * 视频上传 */ public function video_add(){ if (request()->isPost()){ $video = $_FILES['vide ...

  9. ctf-web-sql

    姿势文章总结 freebuf http://www.freebuf.com/news/139288.html http://www.freebuf.com/articles/web/137094.ht ...

  10. Guitar Pro教程之虚拟吉他功能讲解

    上一章节我们讲述了Guitar Pro的组织小节的相关功能,那么本章节我们还是采用图文结合的方式为大家讲解关于{cms_selflink page='index' text='Guitar Pro'} ...