2010-08-03 32 views
1

我需要用值替換字符串中帶有特殊標記的佔位符。類似於string.Format所做的,但以更高級的方式。格式化字符串解析和更新

例如: 輸入字符串:「歡迎使用{Binding Path = @ city}!」 @city的值爲「Boston」 輸出字符串應爲「歡迎來到波士頓!」。

我可以使用正則表達式成功解析輸入字符串並獲取值。但要更新字符串,我只是使用string.Replace。如果有更好的方式來處理這種情況的更新,我會感到好奇嗎?

回答

1

您可以使用Regex.Replace method,但如果您看到有多個位置替換一個匹配(EX:多個{Binding Path- @ city}在一個字符串中),您真的只需要它。

+0

如果我將多個模式替換爲不同的值,Regex.Replace將不起作用。例如,如果輸入是「Welcome {Binding Path = @ name} to {Binding Path = @ city}!」這將無法正常工作,因爲它會替換所有具有相同值的模式。 – Andrii 2010-08-04 19:17:09

+0

正確,我在談論你有多次出現的同一個字符串要替換的時間。在這種情況下,匹配模式必須是特定的。 – 2010-08-04 19:49:37