정규 표현 을 이용 하여 IP 를 정렬 하 는 실현 코드

1.0 을 보충 하여 문자열 순서에 따라 비교 할 수 있 습 니 다.
2.보류 후 세 자리(ip 주 소 는 최대 3 자리)를 캡 처 합 니 다.
3.Arrays.sort()방법 으로 절 약 된 문자열 을 정렬 합 니 다.
4.남 은 0 을 제거 하고 ip 그대로 회복 합 니 다.
5.실현 코드:

package IPSort;
import java.util.Arrays;
/**
 *        IP    ,   
 * @author tiger
 *
 */
public class IPSortTest {
 public static void main(String[] args) {
 String[] ips = {"10.2.4.23","192.168.1.2","173.68.46.65","191.158.6.2","9.2.4.23"};
 
 System.out.println("------1、  ------");
 for (int i = 0; i < ips.length; i++) {
 ips[i] = ips[i].replaceAll("(\\d+)", "00$1");
 System.out.println(ips[i]);
 }
 System.out.println("------2、  ------");
 for (int i = 0; i < ips.length; i++) {
 ips[i] = ips[i].replaceAll("0*(\\d{3})", "$1");
 System.out.println(ips[i]);
 }
 System.out.println("------3、  ------");
 Arrays.sort(ips);
 for (int i = 0; i < ips.length; i++) {
 System.out.println(ips[i]);
 }
 System.out.println("------4、  ------");
 for (int i = 0; i < ips.length; i++) {
 ips[i] = ips[i].replaceAll("0*(\\d+)", "$1");
 System.out.println(ips[i]);
 }
 }
}
6.실행 결과:

------ IP  ------
10.2.4.23
192.168.1.2
173.68.46.65
191.158.6.2
9.2.4.23
------1、  ,        ------
0010.002.004.0023
00192.00168.001.002
00173.0068.0046.0065
00191.00158.006.002
009.002.004.0023
------2、  ,    ------
010.002.004.023
192.168.001.002
173.068.046.065
191.158.006.002
009.002.004.023
------3、  ------
009.002.004.023
010.002.004.023
173.068.046.065
191.158.006.002
192.168.001.002
------4、  ------
9.2.4.23
10.2.4.23
173.68.46.65
191.158.6.2
192.168.1.2
위 에서 말 한 것 은 편집장 이 여러분 에 게 소개 한 정규 표현 을 이용 하여 IP 를 정렬 하 는 실현 코드 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 면 저 에 게 메 시 지 를 남 겨 주세요.편집장 은 신속하게 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기