///<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. MQ-gogogo

    1. RocketMQ https://github.com/alibaba/RocketMQ/wiki/quick-start 2. RabbitMQ https://www.rabbitmq.co ...

  2. Socket 套接字的系统调用

    socket 结构 /** * struct socket - general BSD socket * @state: socket state (%SS_CONNECTED, etc) * @ty ...

  3. 极客mysql06

    两阶段锁:在 InnoDB 事务中,行锁是在需要的时候才加上的,但并不是不需要了就立刻释放, 而是要等到事务结束时才释放. 建议:如果你的事务中需要锁多个行,要把最可能造成锁冲突.最可能影响并发度的锁 ...

  4. fcntl函数用法——操纵文件描述符状态

    fcntl函数:操纵文件描述符,改变已经打开的文件的属性int fcntl(int fd, int cmd, ... //arg  );cmd选项:一.复制文件描述符:F_DUPFD二.更改设置文件描 ...

  5. Git-commit与回滚

    # 提交-信息 git commit -m "message" git commit -a -m "message" // 等同于 git add . & ...

  6. css子选择器 :frist-child :nth-child(n) :nth-of-type(n) ::select选择器

    记录一下前一段时间使用.学习的几种选择器. 1. :frist-child 选择器n 比如<ul><li></li> <li></li> & ...

  7. sort(hdu oj 1425)计数排序和快速排序

    Description 给你n个整数,请按从大到小的顺序输出其中前m大的数. Input 每组测试数据有两行,第一行有两个数n,m(0 < n,m < 1000000),第二行包含n个各不 ...

  8. ASP.NET Core 3 起架设在 Windows IIS 方式改变

    最近要升级 windows 服务器的 ASP.NET Core 2.1 专案到 3.1 版本,发现 Windows 架设在 IIS 上面的方式有所改变. 一. 除了反向代理外,从 ASP.NET Co ...

  9. 【转】Java工程师知识图谱

    一.Java工程师知识图谱(思维导图版) 二.Java工程师知识图谱(文字链接版) 专业基石 数据结构 数组 链表 队列 栈 哈希表 堆 树 图 BitMap 算法思想 排序 查找 分支算法 动态规划 ...

  10. 做了两年java,这些高性能高可用高并发的技术架构你都知道吗?

    前言 每一个模式描述了一个在我们周围不断重复发生的问题及该问题解决方案的核心.这样,你就能一次又一次地使用该方案而不必做重复工作. 所谓网站架构模式即为了解决大型网站面临的高并发访问.海量数据.高可靠 ...