首页 > 解决方案 > 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 因为它是路径名的一部分。如何处理?

谢谢你的帮助

标签: c#

解决方案


动态组合模式时,使用 Regex.Escape 方法确保不包含一些无效的正则表达式转义序列。您的代码应如下所示:

return Regex.Replace(pPath, Regex.Escape($@"\\{server.Name}\"), $@"\\{{{server.Alias}}}\", RegexOptions.IgnoreCase);

推荐阅读