我有一個包含服務器文件路徑($ \ MyPath \ Quotas \ ExactPath \ MyFile.txt)和本地文件系統路徑(C:\ MyLocalPath \ Quotas \ ExactPath)的字符串。我想用本地系統路徑替換服務器文件路徑。String.Replace方法忽略具有特殊字符的大小寫。
我現在有一個確切的更換:
String fPath = @"$\MyPath\Quotas\ExactPath\MyFile.txt";
String sPath = @"$\MyPath\Quotas\ExactPath\";
String lPath = @"C:\MyLocalPath\Quotas\ExactPath\";
String newPath = fPath.Replace(sPath, lPath);
但我想這是不區分大小寫的替代,因此,它將與LPATH替換$ \ mypath中\配額\ Exactpath \爲好。
我整個使用正則表達式像來到了以下內容:
var regex = new Regex(sPath, RegexOptions.IgnoreCase);
var newFPath = regex.Replace(fPath, lPath);
但我怎麼處理特殊字符($,\,/,:),使其不被解釋爲一個正則表達式特殊字符?
與VAR正則表達式和VAR newFPath的例子中,我會想逃避SPATH,fPath,和LPATH,或者只是SPATH? – jkh
@John,就是你正在使用的正則表達式 - 'sPath'。 – Andrei