2013-03-09 76 views
2
String address = "192.168.1.1"; 

我想分割地址,分隔符是點。 所以我用這個代碼:操縱IP地址 - 在'。'上拆分字符串字符

String [] split = address.split("."); 

但它沒有工作,當我用這個代碼,它的工作原理:

String [] split = address.split("\\."); 

爲什麼分裂在IPv4地址的點是這樣完成的:("\\.")

+0

'.'在正則表達式有特殊的含義(任何字符)。爲了匹配''',你必須用''''''來轉義它,但是java使用'''''作爲轉義字符,所以你必須用''''''再次轉義''''''。這導致了''''''。這種文字印刷給我們提供了''.''',這是正則表達式看到的。 – 2013-03-09 12:18:15

回答

7

您需要轉義「。」因爲split需要一個正則表達式。但是你也需要逃避逃避爲「\」。不會在Java String工作:

String [] split = address.split("\\."); 

這是因爲在Java String反斜槓表示character literal的開始。

+0

downvoter請評論? – 2013-03-09 12:15:32

+0

謝謝你,我的主意 – 2013-03-09 12:24:34

+2

@WassiMZgheiB你問了7個問題,但沒有接受任何答案。梳理出來。 – 2013-03-09 12:51:15

1

你應該分裂這樣的,小尖使用Pattern.compile以及

String address = "192.168.1.1"; 
String[] split = address.split("\\.");// you can replace it with private static final Pattern.