2013-07-11 66 views
0

我試圖重寫包含URL,例如一些文本:C#正則表達式替換

"/route/id" 
"/base/route/id" 
"/route2/id" 
"/base/route2/id" 

的會有很多的文字。引號是被匹配文本的一部分。

所有這些網址需要格式爲"/base/...",所以我需要重寫"/"/base/,除非"/base已經在那裏。我正在努力的是哪一點。我可以替換"/,但不能在base之後。

+0

給我們一些適當的樣本,我們可以幫你寫一些處理實際數據的東西。 –

+0

你想保存文件的格式嗎?每行可以有多個URL? –

回答

2

無需正則表達式:

var listOfThingsAllWithBase = listOfThings.Select(a => a.StartsWith("\"/base") ? a : "\"/base" + a.Substring(1, a.Length - 2)); 
+1

請注意,這不會處理現有的引號。例如,「/ route/id」會變成「/ base」/ route/id「。但是多一點字符串操作就可以處理它。 –

+1

自動+1對任何正確的非正則表達式回答一個正則表達式問題 – sq33G

+1

謝謝dav_i。也許我還不清楚,但這只是一個文本字符串,並且可能在一行中有多個實例,所以它不是一個列表。 –

0

我的正則表達式是有點生疏,但如果我沒有記錯,這應該找到的所有條目無法啓動與/基 ^(/基?!)