c# - srings 操作:正则表达式替换为 \T
问题描述
我有这条线:
return Regex.Replace(pPath, $@"\\\\{server.Name}\\", $@"\\{{{server.Alias}}}\", RegexOptions.IgnoreCase);
抛出 System.ArgumentException :
无法分析转义序列 \T。路径:\filerrect**\T**I\GDF\ReceptionFlux\bancaire\PEEXPJ010\20200220\PEEXPJ010_P1ADP_2ADP2_XXXXXX_PAYER_FSS_VIR_BBRED_FS_0027010_20200127_202732.tmp $@"\{{server.Alias}}}\" = "\\{GDFEntrant}}$" @"\\{server.Name}\"= "\\\\filerrect\TI\GDF\ReceptionFlux\\"
我认为的问题是解释 \TI 因为它是路径名的一部分。如何处理?
谢谢你的帮助
解决方案
动态组合模式时,使用 Regex.Escape 方法确保不包含一些无效的正则表达式转义序列。您的代码应如下所示:
return Regex.Replace(pPath, Regex.Escape($@"\\{server.Name}\"), $@"\\{{{server.Alias}}}\", RegexOptions.IgnoreCase);
推荐阅读
- highcharts - 带有类别标签的 Highcharts 不均匀分布的 x 轴
- python - sqlalchemy.exc.InvalidRequestError: Mapper 'mapped class Room->rooms' 没有属性 'rooms'
- python - 在两个平台的 API 之间部署连接
- xml - SAP UI5 XML 视图中的控制语句 if-else
- extjs - 将多个单独的通用应用程序合并到一个主应用程序
- r - 使用 dplyr 的每组的前“n”行——每组的数量不同
- azure - 如何使用 Rest API 或 Nodejs SDK 在虚拟机的洞察菜单中获取性能指标数据?
- java - 如何在谓词 Java 中添加对列表对象的检查
- amazon-web-services - 为 API 网关和 RDS 使用 VPC | AWS
- webpack - 在 dev 和 prod 之间使用桶文件时,Webpack 与 Babel 输出不一致