2015-02-12 55 views
0

如何將此sql語句轉換爲linq。如何將此sql語句轉換爲具有此模式的linq

declare @S nvarchar(100) = 'www.abc.com/a/b/c/d/e/f/g/h/i' 

while PATINDEX('%[/]%' , @S) > 0 BEGIN 
    SET @S = LEFT (@S,LEN(@S) - PATINDEX('%[/]%' , REVERSE(@S))) 
SELECT @S 
END 
+2

你試過嗎?你能分享你的代碼嗎? – 2015-02-12 06:51:09

回答

2

這應做到:

StringBuilder sb = new StringBuilder(); 
string url = "www.abc.com/a/b/c/d/e/f/g/h/i"; 

var q = url.Split('/').Select(s => sb.Append((sb.Length > 0 ? "/" : "") + s).ToString()); 

foreach(string output in q.Reverse()) 
    Console.WriteLine(output); 

輸出:

www.abc.com/a/b/c/d/e/f/g/h/i 
www.abc.com/a/b/c/d/e/f/g/h 
www.abc.com/a/b/c/d/e/f/g 
www.abc.com/a/b/c/d/e/f 
www.abc.com/a/b/c/d/e 
www.abc.com/a/b/c/d 
www.abc.com/a/b/c 
www.abc.com/a/b 
www.abc.com/a 
www.abc.com