如何使用vb.net清除字符串中的多余特殊字符以获取纯净值
VB.NET 清理Excel读取字符串特殊字符最优方案
你可以通过正则表达式一行代码实现所有目标特殊字符的清理,覆盖全部你提到的场景:
- 首先在代码文件顶部引入正则命名空间:
Imports System.Text.RegularExpressions
- 核心处理逻辑:
' 假设input是你从Excel读取到的原始字符串 Dim pureStr As String = Regex.Replace(input.ToString(), "[\uFFFD\n\r\t\p{Z}]+", String.Empty).Trim()
规则说明
\uFFFD匹配Unicode替换字符(即�)\n匹配换行符\r匹配回车符\t匹配制表符\p{Z}匹配所有Unicode空白类字符,包含段落标记、全角空格、非断空格等各类特殊空白- 末尾的
+表示连续匹配多个同类字符,替换效率更高 - 最终调用
Trim()清理首尾残留的极个别未匹配空白
拿你的示例测试:输入"53412437� ",输出结果为53412437,完全符合预期。
你之前的写法失效的原因是仅单独处理了替换字符和首尾普通空白,没有覆盖换行、制表符、特殊空白等其他类型的异常字符。
内容的提问来源于stack exchange,提问作者Muriel Mi
相关产品推荐
相关产品推荐

