Примере:
Xxx.xxx.xxx.xxx - это формат IP-адреса, и я хочу получить только первые три сегмента (с точками): xxx.xxx.xxx.
Другой пример:
192.168.0.160, а я хочу только 192.168.0.
4 ответа
String[] splittedArray = ipAddressString.split("\\.");
String firstThreeSegments = splittedArray [0] + "." + splittedArray [1] + "." + splittedArray [2] + ".";
Я бы сказал, что самый простой метод (ИМО) - использовать (из Apache Commons) StringUtils.ordinalIndexOf()
, чтобы найти значение индекса третьего период, а затем используйте substring()
, чтобы взять подстроку от 0 до этого значения индекса.
Например:
StringUtils.ordinalIndexOf("192.168.0.160", ".", 3) == 9
Затем вы можете использовать этот индекс для получения подстроки.
Вы можете использовать String#replaceFirst
String firstThree = ip.replaceFirst("\\d+$", "");
Это заменит последнюю часть любого действительного IP-адреса пустой строкой.
String partialIp = ipAddress.substring(0, ipAddress.lastIndexOf(".")+1);
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.