我想知道我怎樣才能得到最後2部分的網址的價值?如何從C#中的windows URL獲取值之前的最後一個值?
Input : \\\192.168.XX.XX\ABC\XYZZ\1234\58\Hello <br/>
Expected Output : 58
請幫我看看代碼片段。
我想知道我怎樣才能得到最後2部分的網址的價值?如何從C#中的windows URL獲取值之前的最後一個值?
Input : \\\192.168.XX.XX\ABC\XYZZ\1234\58\Hello <br/>
Expected Output : 58
請幫我看看代碼片段。
如果使用Uri
class(使用URL時,這是有道理的),你可以利用它Segments
屬性:
var uri = new Uri(@"\\192.168.XX.XX\ABC\XYZZ\1234\58\Hello");
var number = uri.Segments[uri.Segments.Length-2].TrimEnd('/');
您可以使用string.Split
string str = @"\\\192.168.XX.XX\ABC\XYZZ\1234\58\Hello <br/>";
var arr = str.Split('\\');
string val = arr[arr.Length-2];
您可以使用string.LastIndexOf(@"\")
獲得索引並致電Substring
示例:
string s = @"\\\192.168.XX.XX\ABC\XYZZ\1234\58\Hello";
string ns = s.Substring(s.LastIndexOf(@"\") + 1); //Hello
UPDATE:
使用拆分獲得第二屆最後一個反斜槓:
string[] arr = s.Split('\\');
ns = arr[arr.Length - 2]; //58
您可以使用子方法。
string [email protected]"\192.168.XX.XX\ABC\XYZZ\1234\58\Hello";
var abc = s.Substring((s.LastIndexOf("\\")-2), 2);
使用System.IO.Path:
var dir = Path.GetDirectoryName(@"\\\192.168.XX.XX\ABC\XYZZ\1234\58\Hello");
// dir now contains \\\192.168.XX.XX\ABC\XYZZ\1234\58
var result = Path.GetFileName(dir)
// result = 58
或更短:
Path.GetFileName(Path.GetDirectoryName(@"\\\192.168.XX.XX\ABC\XYZZ\1234\58\Hello"))
的第一輸出爲hello,而他需要58不打招呼 –
是正確的。我錯了。 – Hassan