2012-09-21 48 views
-1

所以,基本上我需要的是獲得第二點和第三點之間的數字。C#找到兩個點之間的數字?

例子: 我在文本框「1.1.1.1」或「183.312.21.132」型,我點擊一個按鈕,並在文本框秒我得到的第二個和第三個點之間的數字。就像第一個它會是「1」,並在第二秒鐘它將是「21」

對不起,壞英語。謝謝!

+0

如果你有三個或多個點,給出所有的答案將解決你的問題。既然你說過數據的長度是未知的,如果你有像「2」,「4.5」,「3.4.2」和「2.5.7.1.6.8」那麼需要的輸出是什麼? – mbm

回答

4

嘗試分割

"1.1.1.1".Split('.')[2] 

"183.312.21.132".Split('.')[2] 

返回字符串[]和索引2將是第三數目

+0

按照你想要的問題完美地工作,你想請更改你的問題,然後 – OJay

2
string digits[] = "1.2.3.4".Split("."); 

使用在別處用:

digits[0] 
digits[1] 
+0

就像我說的,我不知道有多少號碼 –

+1

每個部分有多少個數字是無關緊要的因爲你知道你想要第一,第二,第三部分。對於1.2.3.4,數字[2]將返回3,對於192.168.144.1,數字將返回144 – iouri

3

使用字符串分割:

"183.312.21.132".Split(".")[index_of_the_dot_before_desired_numbers] 

"183.312.21.132".Split('.')[2] = "21" 

UPD:

,如果你需要點之間的範圍內,你可以使用LINQ:

var startDotIndex=1; 
var endDotIndex=3; 
"183.312.21.132".Split('.').Skip(startDotIndex).Take(endDotIndex-startDotIndex).ToArray() 

將返回[「312」,「21」];

0

這聽起來像你需要的String對象的拆分方法參見下文:

string foo = "183.312.21.132"; 
string[] foos = foo.Split('.'); 

從這裏你可以做很多不同的事情,如通過您的陣列和搶值循環,或者如果你知道你是什麼指數尋找你可以簡單地要求它直接從數組如:

string bar = foo.Split('.')[2]; // gives you "21" 
0
var foo = "192.168.0.1"; 
var digs = foo.Split("."); 
var nums = int.Parse(digs[2]); 
相關問題