如果你的URL看起來像一個實際的URL(使用http://部分),那麼你可以使用Uri
類:
private static void Extract()
{
Uri uri = new Uri("http://somesite/somepage/johndoe21911");
string last = uri.Segments.LastOrDefault();
string numOnly = Regex.Replace(last, "[^0-9 _]", string.Empty);
Console.WriteLine(last);
Console.WriteLine(numOnly);
}
如果是完全一樣的前充足的(沒有http://部分),那麼你可以做這樣的事情:
private static void Extract()
{
string uri = "http://somesite/somepage/johndoe21911";
string last = uri.Substring(uri.LastIndexOf('/') + 1);
string numOnly = Regex.Replace(last, "[^0-9 _]", string.Empty);
Console.WriteLine(last);
Console.WriteLine(numOnly);
}
以上假設您要從URL,最後段所有數字這就是你說你的要求是。也就是說,如果您的網址是看起來像這樣:
somesite/somepage/john123doe456"
這將提取123456
。
如果你只想要最後5個字符,你可以簡單地使用string.Substring()
來提取最後5個字符。
如果你想要數字這是在字符串的末尾,那麼這將工作。
private static void Extract()
{
string uri = "somesite/somepage/john123doe21911";
string last = uri.Substring(uri.LastIndexOf('/') + 1);
string numOnly = Regex.Match(last, @"\d+$").Value;
Console.WriteLine(last);
Console.WriteLine(numOnly);
}
哦,說我已經遇到對谷歌的一些東西,但沒有就如何實現它們是一個很懶惰的回答十分肯定。如果你是谷歌,你可以找到無數的例子來說明如何做這些事情,即使在這個網站上。請從下次開始先做你的研究,先自己試試。
我認爲這是Asp.Net? MVC? Web API?請適當地標記您的問題。 – Amy
你嘗試過什麼嗎?關於從更大的字符串中獲取數字有很多問題 –
_I需要獲得「21911」_是什麼意思?換句話說,無論你想要提取什麼標準?它是否是來自URL最後部分的任何數字,還是最後五個字符,還是最後五個數字值?你得到了漂移。 – Sach