2010-07-09 89 views
1

考慮這樣一個字符串,C#正則表達式替換

type="xxx.yyy.zzz, xxx.yyy, Version=2.0.3.0, Culture=neutral, PublicKeyToken=null" 

我讀的resx文件,並想取代上述字符串的String.Empty不管版本是什麼樣的所有出現,但版本格式將保持不變,並且字符串的其餘部分不會改變。我嘗試了一些東西,但我有點緊張;並真的很感謝這方面的幫助。謝謝。

+0

我不明白:要更換整行與空字符串,如果它匹配的版本?或者如果它匹配'xxx.yyy.zzz'? – rakuo15 2010-07-09 13:38:36

+0

@ rakuo15整個行。 – 2010-07-09 14:15:09

回答

1
type="xxx\.yyy\.zzz, xxx\.yyy, Version=\d+\.\d+\.\d+\.\d+, Culture=neutral, PublicKeyToken=null" 
  • \d表示一個數字; \d+匹配一個或多個數字。
  • .是一個特殊字符,需要轉義爲\.

由於AC#正則表達式的字符串,它會看起來像:

pattern = "type=\"xxx\\.yyy\\.zzz, xxx\\.yyy, Version=\\d+\\.\\d+\\.\\d+\\.\\d+, Culture=neutral, PublicKeyToken=null\""; 
+0

嗯,如果有一個額外的空間或版本只指定爲x.x.x或文化不是中性的話。我知道這不是你的正則表達式有錯,而是缺少一些信息的問題。 – 2010-07-09 13:42:02

+0

@lasseespeholt OP表示_rest字符串不會改變_並且我依賴於該字符串。 – Amarghosh 2010-07-09 13:47:18

+0

是的,我知道:)再次,我知道你的正則表達式沒有錯誤。但是額外的空間是否有資格獲得「改變」? < - 問題爲Bala R – 2010-07-09 13:50:15