///<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. TPE-ThreadPoolExecutor

    TPE: java.util.concurrent.ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximum ...

  2. MyBatis 中 @Param 注解的四种使用场景

    https://juejin.im/post/6844903894997270536 第一种:方法有多个参数,需要 @Param 注解 第二种:方法参数要取别名,需要 @Param 注解 第三种:XM ...

  3. 【JVM第五篇--运行时数据区】方法区

    写在前面的话:本文是在观看尚硅谷JVM教程后,整理的学习笔记.其观看地址如下:尚硅谷2020最新版宋红康JVM教程 一.栈.堆.方法区的关系 虚拟机运行时的数据区如下所示: 即方法区是属于线程共享的内 ...

  4. [leetcode/lintcode 题解] 微软 面试题:实现 Trie(前缀树)

    实现一个 Trie,包含 ​insert​, ​search​, 和 ​startsWith​ 这三个方法.   在线评测地址:领扣题库官网     样例 1: 输入:    insert(" ...

  5. sql实现通过父级id查询所有的子集

    通过sql实现传入父级id查询出所有的子集 最近刚好有个业务需要这样实现个功能,就是在点击查询列表详情的时候只会传入父级id,而详情得渲染出所有子集,那么做法有很多,可以直接通过代码递归查询去实现, ...

  6. 最大子段和问题(C/C++)

    Description 给定有n个整数(可能为负整数)组成的序列a1,a2,...,an,求该序列连续的子段和的最大值. 如果该子段的所有元素和是负整数时定义其最大子段和为0. Input 第一行有一 ...

  7. Guitar Pro使用技巧之乐段回放练习

    Guitar Pro中的"回放"功能是我们在吉他练习中非常常用的一项功能.我们在吉他练习中碰到某一乐段比较练习比较困难时,我们就可以用鼠标在Guitar Pro上选中该乐段,然后进 ...

  8. 如何使Camtasia的抠像效果更真实自然

    相信大家都知道录像编辑软件Camtasia的"移除颜色"可以抠像换背景,详细操作可以看小编的另一篇教程 <如何用Camtasia为微课换上一个好看的背景>.接下来,小编 ...

  9. SQL相关子查询是什么?和嵌套子查询有什么区别?

    目录 两者的各种叫法 相关子查询MySQL解释 相关子查询Wikipedia解释 相关子查询执行步骤拆解 相关子查询和嵌套查询的区别 参考资料 两者的各种叫法 相关子查询叫做:Correlated S ...

  10. # 夏普R shv39 0基础精简优化指南

    手机介绍 夏普AQUOS R是目前市面上用户数量和好评数量都非常多的一款产品.它性价比极高,适合各个年龄段的用户选择来满足办公或者家用或者娱乐等不同方面的需求.目前闲鱼价格在400左右,搭载骁龙835 ...