2017-10-14 112 views
0

我有一個字符串,它基本上是這樣的:C#選擇字符串的一部分時,有一個匹配結果字符串的一部分

/giveaway/host/setup/ref=aga_h_su_dp?_encoding=UTF8&value_id=1484778065 

這裏的竅門是該字符串的長度可以變化,並且改變......然而,隨着「value_id =東西」的部分始終保持相同的。所以,我跑了,我可以做這樣的事情的問題:

var myId = string.SubString(30,45); 

to get the value after value_id= /*this one here*/ 

我想,這可能是通過正則表達式或其他方式解決,但我不太確定如何寫這樣的。有人可以幫我嗎?

+1

分裂用「=」然後讓你的字符串數組 – arslanaybars

+0

的最後一個索引@arslanaybars什麼是否有串多「=」標誌? – User987

+0

是不是總是和字符串? @ User987 – arslanaybars

回答

1

你可以試試這個。如果你的value_id總是你的字符串的最後一個,你可以使用它。

var str = "/giveaway/host/setup/ref=aga_h_su_dp?_encoding=UTF8&value_id=1484778065"; 

var valueId = str.Split('=').LastOrDefault(); 

結果:1484778065

希望這對您有所幫助

0

您可以通過 'value_id =' 分裂

string[] tokens = str.Split(new[] { "value_id=" }, StringSplitOptions.None); 

if(tokens.Length>1){ 
    //parse tokens[1] with the value 
} 
+0

好辦法。 @ User987你也可以使用這個。 – arslanaybars

+0

@arslanaybars會這樣工作,如果有多個=? – User987

+0

它會工作,但如果value_id =是最後一個。如果您需要將值分開後再有其他數據,請使用分隔符重新分割。 – farbiondriven