2012-11-19 194 views
1

末我有網址的集合,我需要編寫正則表達式過濾需要的內容。C#正則表達式/「的字符串

/數據/ 43492-someText /」

/數據/ 221639-anotherText/「

/數據/ 116345-differentText /」

/數據/ 6630-boooring /」

/數據/ 22074 2,富/ 「

我需要的只是沒有串/」 就完了,所以

/數據/ 220742-富

我的正則表達式如下:

@"/data/[0-9]{1,10}-.*""\s" 

注意:由於我的項目有一些限制,我不想用字符串替換來做到這一點。

+0

如何在映射的問題提示使用'String.Split( '/')' –

回答

4

我認爲正則表達式對於你想要做的事情來說是一種矯枉過正。

不管怎麼說,你可以使用類似this

@"/data/[0-9]{1,10}-[^/]+" 
+0

我知道,這個工作完美無缺:) – Hlavson

+0

+1的工作示例 –

5

如果(字符串中/不是終止)是唯一的要求,然後使用這樣的事情:

var desiredUrls = urls.Where(url => !url.EndsWith("/\"")) 

我最初讀的問題,作爲一個渴望過濾網址,但我可以看到它怎麼可能一個映射問題。

var withoutSuffix = urls.Select(url => url.TrimEnd("/\"".ToCharArray()); 
+2

的例子,沒有過濾。 – Joey

2

你可以使用TrimEnd從字符串的結尾刪除字符:

s.TrimEnd('/', '"') 
+0

這將修剪/和/或「。不是/」。當然,對OP來說可能沒問題......我只是挑剔。 –

+1

我知道它在技術上會做的比這更多。但是,如果輸入實際上是一串URI,那末在末尾不會有任何'/'和'''字符串。 – Joey

1

您可以使用類似:

(/data/[0-9]{1,10}-.+)/ 

和字符串沒有結尾/將成爲第一個捕獲組。