2017-10-14 226 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

相关问题