一、如果你是高手,一定“识货”,分享给你

二、可应用于文本插入的几种方式:6种

三、需要用到以下的几个函数:

上代码:

Module TextModule    ''' <summary>    ''' 在指定位置插入文本    ''' </summary>    ''' <param name="originalText">原始文本</param>    ''' <param name="position">插入位置(从0开始)</param>    ''' <param name="insertText">要插入的文本</param>    ''' <returns>处理后的文本</returns>    Public Function InsertTextAtPosition(originalText As String, position As Integer, insertText As String) As String        If position < 0 Or position > originalText.Length Then            Return originalText        End If        Return originalText.Insert(position, insertText)    End Function    ''' <summary>    ''' 在每个字符间插入指定文本    ''' </summary>    ''' <param name="inputText">原始文本</param>    ''' <param name="separator">分隔符</param>    ''' <returns>处理后的文本</returns>    Public Function InsertBetweenCharacters(inputText As String, separator As String) As String        If String.IsNullOrEmpty(inputText) Then            Return ""        End IfDim sb As New Text.StringBuilder()        For i As Integer = 0 To inputText.Length - 1            sb.Append(inputText(i))            If i < inputText.Length - 1 Then                sb.Append(separator)            End If        Next        Return sb.ToString()    End Function''' <summary>    ''' 在指定字符串(单/多字符)的前或后插入文本    ''' </summary>    ''' <param name="originalText">原始文本</param>    ''' <param name="targetString">要查找的目标字符串(支持多字符)</param>    ''' <param name="insertText">要插入的文本</param>    ''' <param name="positionOption">插入位置:'前' 或 '后'</param>    ''' <param name="occurrenceOption">匹配项选择:'第一个', '最后一个', '全部'</param>    ''' <returns>处理后的文本</returns>Public Function InsertTextAroundString(        originalText As String,        targetString As String,        insertText As String,        positionOption As String,        occurrenceOption As String    ) As StringIf String.IsNullOrEmpty(originalText) OrElse String.IsNullOrEmpty(targetString) Then            Return originalText        End If' 统一转换为小写比较(不区分大小写)        Dim posOption = positionOption.ToLower()        Dim occOption = occurrenceOption.ToLower()' 参数有效性检查        If posOption <> "前" AndAlso posOption <> "后" Then            Throw New ArgumentException("positionOption 必须是 '前' 或 '后'")        End IfIf occOption <> "第一个" AndAlso occOption <> "最后一个" AndAlso occOption <> "全部" Then            Throw New ArgumentException("occurrenceOption 必须是 '第一个', '最后一个' 或 '全部'")        End If' 处理不同匹配选项        Select Case occOption            Case "第一个"                Dim index = originalText.IndexOf(targetString)                If index = -1 Then Return originalText ' 未找到If posOption = "前" Then                    Return originalText.Insert(index, insertText)                Else                    Return originalText.Insert(index + targetString.Length, insertText)                End IfCase "最后一个"                Dim index = originalText.LastIndexOf(targetString)                If index = -1 Then Return originalText ' 未找到If posOption = "前" Then                    Return originalText.Insert(index, insertText)                Else                    Return originalText.Insert(index + targetString.Length, insertText)                End IfCase "全部"                Dim result = originalText                Dim addedOffset = 0 ' 用于处理插入后位置偏移                Dim positions As New List(Of Integer)()' 获取所有目标字符串的位置(非重叠匹配)                Dim searchIndex As Integer = 0                While searchIndex <= result.Length - targetString.Length                    Dim matchIndex = result.IndexOf(targetString, searchIndex)                    If matchIndex = -1 Then Exit While                    positions.Add(matchIndex)                    searchIndex = matchIndex + targetString.Length ' 跳过已匹配部分                End While' 从前往后插入(处理位置偏移)                For Each pos In positions                    Dim insertPos = pos + addedOffset                    If posOption = "前" Then                        result = result.Insert(insertPos, insertText)                        addedOffset += insertText.Length                    Else                        result = result.Insert(insertPos + targetString.Length, insertText)                        addedOffset += insertText.Length                    End If                Next                Return resultCase Else                Return originalText        End Select    End Function    '    '示例:    '    Dim testText = "李小龙张无忌东方不败"    'InsertTextAroundChar(testText, "小龙", "-" 前", "第一个")", 
End Module

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/84798.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/84798.shtml
英文地址,请注明出处:http://en.pswp.cn/web/84798.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

QC -io 服务器排查报错方式/报错: Failed to convert string to integer of varId variable!“

进断点控制台有报错之后&#xff0c;复制报错信息到 头部菜单栏 1.编辑 -> 2.Find/Replace ->3.Advanced Find ->4. Project“xxxxx” 能找到问题点 再分析定位 在排查报错时候&#xff0c;进入了这个报错&#xff0c;msgInfo "MyTcpRedis: Failed to conver…

c++中auto与decltype使用

在 C11及后续版本中&#xff0c;关键字auto和decltype都是用于类型推导的&#xff0c;但它们的使用场景和行为有所不同。 1. auto 关键字 作用 auto 用于自动推导变量的类型&#xff0c;由编译器根据初始化表达式来确定。 常见用法 // 基本用法 auto x 42; // int…

LabVIEW机器视觉零件检测

基于LabVIEW 图形化编程平台与机器视觉技术&#xff0c;构建集图像采集、处理、尺寸计算与合格性分析于一体的自动化检测方案。通过模块化硬件架构与自适应算法设计&#xff0c;实现对机械零件多维度尺寸的非接触式高精度测量&#xff0c;相比人工检测效率提升 12 倍&#xff0…

大数据治理域——实时数据开发

摘要 本文深入探讨了大数据治理域中的实时数据开发&#xff0c;重点介绍了流式数据处理的核心价值、特点、技术挑战、典型能力和应用场景。同时&#xff0c;详细阐述了流式技术架构&#xff0c;包括数据采集、处理、存储和服务等环节&#xff0c;并针对大促场景提出了相应的技…

Halcon/C# 图像窗口、读取图片及仿射变换

一、Halcon 清理窗口 清除图像窗口的显示。 dev_clear_window() 二、Halcon 读取图片 (一) 读取一张图片 read_image (Image, printer_chip/printer_chip_01)Image&#xff1a;&#xff08;输出参数&#xff09;读取到的图片变量名 第二个参数&#xff1a;图片路径&#xf…

Nginx 反向代理服务和安装docker-compose

Nginx 反向代理服务和安装docker-compose Nginx Proxy Manager 他是一个可视化的nginx的反向代理神器&#xff0c;动动手指轻松的配置Nginx&#xff0c;我们可以通过一些网页&#xff0c;即可完成网站的代理配置&#xff0c;无需在动手安装Nginx&#xff1b; dockoer-compose部…

FPGA基础 -- Verilog 锁存器简介

由浅入深地讲解 Verilog 中的锁存器&#xff08;Latch&#xff09;**&#xff0c;包括&#xff1a; 什么是锁存器&#xff08;定义与作用&#xff09;锁存器的分类&#xff08;透明锁存器 vs 边沿触发器&#xff09;Verilog 中锁存器的建模方式锁存器与触发器的区别锁存器的时…

Eclipse Memory Analyzer (MAT) 相关配置调整

一、JDK版本过低提示 已安装高于 jdk 17 的版本依旧提示 jdk 版本过低&#xff0c;打开MAT的安装目录&#xff0c;在配置文件 MemoryAnalyzer.ini 中添加配置指向JDK即可。新增两行配置&#xff1a; -vm D:/jdk_21.0.7/bin/javaw.exe //jdk安装路径 bin 目录下的javaw.exe二…

机器学习常用评估指标

机器学习常用评估指标 机器学习的评价指标有精度、精确率、召回率、P-R曲线、F1 值、TPR、FPR、ROC等指标&#xff0c;还有在生物领域常用的敏感性、特异性等指标。 基础 在分类任务中&#xff0c;各指标的计算基础都来自于对正负样本的分类结果&#xff0c;用混淆矩阵表示&…

视频相似度检测算法(带课设报告)

摘 要 本文提出了一种基于关键帧特征提取的视频相似度检测方法&#xff0c;通过融合自适应采样与特征降维技术实现高效准确的视频内容比对。系统采用三阶段处理流程&#xff1a;首先对输入视频进行自适应关键帧采样&#xff0c;通过均匀间隔算法提取固定数量&#xff08;默…

微服务江湖的爱恨情仇:Spring Cloud 与 Kubernetes 的双雄演义

引言&#xff1a;双雄并立&#xff0c;一个时代的序幕 微服务革命&#xff0c;如同一场燎原之火&#xff0c;将庞大、笨重的单体应用烧成灰烬&#xff0c;宣告了一个敏捷、独立、快速迭代的新纪元。然而&#xff0c;这场革命在摧毁旧世界的同时&#xff0c;也催生了一片混沌的新…

深度拆解RAGFlow分片引擎之切片实现

上一篇深度拆解RAGFlow分片引擎&#xff01;3大阶段视觉增强&#xff0c;全网最硬核架构解析 讲了切片的整体流程&#xff0c;今天我们来拆下切片的实现。 我们在设置的时候&#xff0c;可以选择切片方法。这个参数是parser_id 在创建知识库的时候&#xff0c;选择对应的切片方…

CSS平滑滚动效果实现方法

一、纯CSS实现方案 使用 scroll-behavior 属性 属性值 auto (默认值)&#xff1a;滚动框立即滚动smooth&#xff1a;滚动框以平滑的方式滚动 /* 全局平滑滚动 */ html {scroll-behavior: smooth; }/* 特定容器平滑滚动 */ .scroll-container {scroll-behavior: smooth;over…

李沐动手深度学习(pycharm中运行笔记)——12.权重衰退

12.权重衰退&#xff08;与课程对应&#xff09; 目录 一、权重衰退 1、使用均方范数作为硬性限制 2、使用均方范数作为柔性限制&#xff08;通常这么做&#xff09; 3、演示对最优解的影响 4、参数更新法则 5、总结 二、代码实现从零实现 三、代码实现简介实现 一、权重…

React Native【实战范例】同步跟随滚动

最终效果 实现原理 主动滚动区触发滚动事件&#xff0c;原生监听滚动值的变化&#xff0c;并用动画的方式实时同步到跟随滚动区 技术要点 使用 Animated.ScrollView 使用动画变量 const scrollY useRef(new Animated.Value(0)).current;主动滚动触发 onScroll&#xff0c;用 …

如何仅用AI开发完整的小程序<3>—创建小程序基础框架

1、启动小程序开发者工具-选择小程序&#xff0c;点击 2、创建一个项目工程 项目名称&#xff1a;自己填默认的也行&#xff0c;最好不要中文&#xff0c;拼音也行 目录&#xff1a;选择你的项目创建路径 AppID&#xff1a;可以先点测试号&#xff0c;后面再替换自己的AppID就…

SQL等价改写优化

or 与 union all的优化 在SQL开发中&#xff0c;我们经常会遇到这样的情况&#xff1a;需要组合多个相似但略有不同的查询结果。大多数开发者本能地使用UNION/UNION ALL来解决&#xff0c;这种方式直观易懂&#xff0c;但在特定场景下却隐藏着巨大的性能浪费。 本案例将从执行…

【已解决】 数据库INSERT操作时,Column count doesn’t match value count at row 1

【已解决】数据库INSERT操作时&#xff0c;ColumnColumn count doesn’t match value count at row 1 在开发过程中&#xff0c;我们经常会遇到数据库操作错误&#xff0c;其中之一就是 MySQL 中的 “Column count doesn’t match value count at row1” 错误。这个错误通常发…

管件接头的无序抓取

文章目录 1&#xff0c;目的2&#xff0c;过程3&#xff0c;易混易错点4&#xff0c;代码详解4.1&#xff0c;初始化窗口4.2&#xff0c;创建多视角立体视觉模型。4.3&#xff0c;创建表面匹配模型4.4&#xff0c;多视角立体视觉重建管件堆表面模型4.5&#xff0c;管道接头查找…

移远通信 × 紫光展锐,推动FWA “5G+AI”新体验

6月19日&#xff0c;在2025 MWC上海期间&#xff0c;移远通信宣布&#xff0c;携手紫光展锐&#xff0c;推出面向下一代CPE应用的“5GAI”融合解决方案。目前双方正联合多家CPE厂商开展方案深度调优&#xff0c;以加速5GAI CPE终端的产业化落地进程。 该方案以移远5G模组RG620…