簡體   English   中英

如何用正則表達式替換找到的所有字符串,並將其自身與另一個字符串連接在一起?

[英]How do I replace all strings found with a regular expression with itself concatenated with another string?

例如,我的正則表達式找到了字符串: some\\file\\path.xml ,我希望將其更改為new_root\\some\\file\\path.xml 有沒有辦法使用正則表達式替換方法來做到這一點? 如果沒有,執行此操作的首選方法是什么?

看來您可以使用Regex.Replace來完成您要的操作。 在MSDN上查看正則表達式中的替代文章。

例:

var path = @"C:\some\file\path.xml";
var result = Regex.Replace(path, @"(C:\\)(.*)", "$1new_root\\$2");

結果是C:\\ new_root \\ some \\ file \\ path.xml。

您不需要正則表達式,只需使用buid-in函數找到所需的字符串並與所需的字符串連接即可。

對於更一般的搜索/替換,您可以這樣做:

  string pattern = @"(?>\w+\\)+\w+.xml";
  string replacement = "new_root\\$0";
  Regex rgx = new Regex(pattern);
  string result = rgx.Replace(input, replacement);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM