UiPath+RegEx处理Word文本:替换TAB后去除重复横杠的技术需求
解决UiPath中TAB转连字符后多余重复字符的问题
问题场景
使用UiPath Studio结合正则表达式捕获MS Word文档中PostalAddress:和Invoice Address:之间的文本,将TAB(ASCII码chr(9))替换为"-"后,出现多余重复的"-",需要调整为预期格式。
当前实现与问题
- 所用正则及替换代码:
(?<=PostalAddress: )([\S\s]*)(?=Invoice Address:").Value.Replace(chr(9), "-") - Word初始字符串:
"customer name(TABTAB)customer address(TABTAB)" - 当前输出:
"customer name--customer address--" - 期望输出:
"customer name - customer address"
解决方案
核心思路是将连续的TAB字符批量替换为单个" - ",再去除首尾多余的空白或连字符,修改后的代码如下:
' 先捕获目标文本 Dim capturedText As String = Regex.Match(yourWordText, "(?<=PostalAddress: )([\S\s]*?)(?=Invoice Address:)").Value ' 替换连续TAB为" - ",再去除首尾空白 Dim result As String = Regex.Replace(capturedText, "\t+", " - ").Trim()
说明
- 正则
\t+匹配一个或多个连续的TAB字符,一次性替换为" - ",避免生成多个连续的"-" Trim()方法去除字符串首尾因末尾TAB替换产生的多余" - ",确保输出格式符合预期
内容的提问来源于stack exchange,提问作者worthy
相关产品推荐
相关产品推荐

