2013-11-23 23 views
1

所以我期待得到一個IP的第一個數字。假設我有類似255.35.54.34的東西。我想把第一部分的數字提到第一期。我將如何在Java中執行此操作?所以它會給我留下255.獲取字符串的一部分到一個點

+0

它是作爲一個字符串進入嗎? – Woot4Moo

回答

2

看看String類。您可以使用幾種方法來完成此操作:

  1. indexof(...)方法會給您「。」的偏移量。
  2. substring(...)方法可以讓你使用上面得到一個字符串偏移

或者另一種選擇是使用split(...)方法來獲得所有四個IP值的數組。

0

您可以使用帶週期的split()方法作爲參數。這將沿着句點分割字符串並給你一個String []。

然後像使用下標一樣從普通數組中獲取值。在你的情況下指數0,會得到價值

String ip = "255.255.255.255"; 
String[] splitIP = ip.split("."); 
String required = splitIP[0]; 
+0

-1已提前8分鐘提出。沒有必要混淆與重複的建議論壇。 – camickr

+0

也許我應該發佈一個SSCCE或一個片段 –

+1

我會讓OP學習如何在編寫代碼時自己讀取API。 – camickr

0

由於@camickr說,你可以使用indexOfsubstring這樣的:

String ipAddress = "192.168.1.9"; 
System.out.println(ipAddress.substring(0, ipAddress.indexOf('.'))); 

這將打印 「192」

+0

-1正如你所說的建議已經提供。如果我們將它們指向正確的方向,OP可以學習閱讀API並自行編寫代碼。 – camickr

+0

那你爲什麼不直接提供一個API的鏈接呢?我只是給你的答案增加一點價值,不要個人承擔,我們都只是想幫忙。 – ATG

+0

因爲每個程序員都應該有一個指向API的鏈接。如果您無法訪問API,則無法編程。通過強制OP讀取API,他們還可以找到其他方法,這些方法將來會對他們有所幫助。 「我們都只是想幫忙。」 - 「給他們一條他們吃了一天的魚,教導別人爲它們吃魚終身」。 – camickr

0

你可以做它有兩種方式:

一個是你使用String.split()的方法,另一個是使用StringTokenizer類。

使用String.split():

String ip = "255.1.2.3"; 
String[] splitIP = ip.split("\\."); 
String required = splitIP[0]; 
System.out.println(required); 

這裏\\是必需的,它oherwise會拋出異常

使用StringTokenizer

 String ip = "255.1.2.3"; 
     StringTokenizer tk=new StringTokenizer(ip,".");    
     while (tk.hasMoreTokens()) 
     {    
      System.out.println(tk.nextToken()); 
      break; 
     } 

希望這將幫助你..