c#如何取出指定的中间文本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | ///<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中间字符串的长度
所以用这个方法返回的结果为:后
作者: Homegu
出处:https://www.cnblogs.com/codedisco/p/12915377.html
版权:本文采用「署名-非商业性使用-相同方式共享 4.0 国际」知识共享许可协议进行许可。
觉得文章不错,点个关注呗!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理