程序中需要以下类似的URI:
rtsp://127.0.0.1:554/live.sdp/
rtsp://127.0.0.1:554/live.sdp
rtsp://127.0.0.1:554
rtsp://127.0.0.1:554/
rtsp://127.0.0.1:554//live.sdp
最后,我想只有一个干净的方式:
rtsp://127.0.0.1:554/live.sdp
其中scheme(rtsp://),ip(127.0.0.1),port(554)和path(live.sdp)单独提交。所以我必须确保路径不仅包含斜杠(/),不以斜杠(/live.sdp)开头,不以斜杠结束(live.sdp) /)并且URL不以斜杠结尾(rtsp://127.0.0.1:554 /),因此我可以在URL和路径之间添加斜杠,而不必担心会出错。
任何简单的方法来实现这一目标?
答案 0 :(得分:4)
使用UriBuilder类来解析和构造URI。没有必要重新发明轮子。
答案 1 :(得分:1)
使用string split and format
;
string s1 = ip + ":" + port + "/" + path;
string[] arr = s1.Split(new string[] { "/" },
StringSplitOptions.RemoveEmptyEntries);
string url = scheme + string.Format("{0}/{1}", arr)
答案 2 :(得分:0)
尝试这样的事情
var uri = new UriBuilder(String.Format("{0}://{1}:{2}/{3}",protocol,host,port,path)).Uri;