在VB.net中,用正则表达式方法清除干扰符号方法

==标题==

|---------------------------|
| 在VB.net中,用正则表达式方法清除干扰符号方法 |

==正文==

上一篇提到通常的word文档复制、粘贴的干扰符号有:chr(7)、chr(11)、chr(13)、chr(9)、chr(160)

在VBA中,提取word表格的文本时,通常有什么干扰符号,需要清除

今天来设计一个函数来清洗它们

一、在VB.NET中使用正则表达式清除Word表格文本中的干扰符号(如Chr(7)Chr(13)Chr(11)),可通过以下方法实现:

apache 复制代码
Imports System.Text.RegularExpressionsFunction CleanTableText(inputText As String) As String    Dim pattern As String = "[\x07\x0B\x0D]"  ' 匹配Chr(7), Chr(11), Chr(13)    Return Regex.Replace(inputText, pattern, String.Empty)End Function

代码说明

  1. 正则模式[\x07\x0B\x0D] 使用十六进制表示法匹配:
  • \x07Chr(7)(单元格结束符)
  • \x0BChr(11)(垂直制表符)
  • \x0DChr(13)(段落标记)
  1. 替换逻辑Regex.Replace 将匹配项替换为空字符串,实现批量清除

以上的函数只清洗3个符号,我们还有chr(9)、chr(160)

二、清洗5个干扰符号的增强版本

sql 复制代码
' 增强版:同时处理不间断空格(Chr(160))和制表符(Chr(9))Function AdvancedClean(inputText As String) As String    Dim pattern As String = "[\x07\x0B\x0D]|[\xA0]|\t"    Dim cleaned = Regex.Replace(inputText, pattern, Function(m)         Return If(m.Value = Chr(160), " ", "") ' 不间断空格转普通空格    End Function)    Return cleanedEnd Function

能亮点

  1. 使用 |运算符扩展匹配范围
  1. 通过替换函数区分处理:
  • 不间断空格(C``hr(160)) → 转为普通空格
  • 其他干扰符 → 直接删除
  1. \``t显式匹配制表符(C``hr(9))

三、使用示例:

javascript 复制代码
Dim rawText As String = "单元格内容" & Chr(7) & "结尾" & Chr(11) & "多行" & Chr(13) & "文本"Dim cleanText As String = CleanTableText(rawText)' 输出结果: "单元格内容结尾多行文本"

四、关键注意事项

  1. 命名空间必需:确保已导入 System.Text.RegularExpressions

  2. Unicode处理:VB.NET正则默认支持Unicode字符(如中文)

==The end==

==合集==

====若有用,请转发免费学习====

ExcelVBA文章列表

关注看更多文章

相关推荐
2zcode39 分钟前
基于MATLAB深度学习的乳腺钼靶影像乳腺癌智能诊断系统设计与实现
开发语言·深度学习·matlab·乳腺癌
MoonBit月兔43 分钟前
错过大赛报名?MoonBit 开源大赛- 8 月黑客松正式开启
开发语言·ai-native·moonbit
weixin_538601971 小时前
智能体测开Day31
开发语言·python
geovindu1 小时前
java: Facade Pattern
java·开发语言·后端·外观模式·结构型模式
listening7771 小时前
HarmonyOS 6.1 元服务深度优化:从“秒开”到“常驻”的极致体验
java·开发语言·spring
布朗克1681 小时前
Go 入门到精通-29-测试与基准
开发语言·后端·golang·测试与基准
格林威2 小时前
工业相机Chunk功能全解析:图像嵌入时间戳、编码器元数据(附堡盟C#代码)
开发语言·人工智能·数码相机·计算机视觉·c#·视觉检测·工业相机
Arbori_262152 小时前
Rider 调试 VisionMaster C# 用户脚本
c#·visionmaster
小大宇2 小时前
Python 集成 Conda
开发语言·python·conda
还是奇怪3 小时前
Simon Willison 用 DSPy 优化 Datasette Agent 提示词:提示工程正在变成可测试的软件工程
java·开发语言·软件工程