我如何用 IP 和端口划分字符串



我有这样一行:

176.32.37.27:777754.38.156.202:777751.68.208.5:7777

如何使用拆分功能或类似功能从此 IP 端口串推断出周期?为此:

176.32.37.27:7777 54.38.156.202:7777 51.68.208.5:7777

端口相同只是因为它们有 4 位数字

由于您知道端口的长度将始终为 4,因此您可以根据采用冒号和 4 位数字的回溯进行拆分:

String test = "176.32.37.27:777754.38.156.202:777751.68.208.5:7777";
System.out.println(
   Arrays.toString(
       test.split("(?<=:\d{4})")
   )
);

输出

[176.32.37.27:7777, 54.38.156.202:7777, 51.68.208.5:7777]

参见

Java 模式 API 中的后瞻。

您可以使用以下代码拆分 IP 地址。

String str = "176.32.37.27:777754.38.156.202:777751.68.208.5:7777";
String ipAdds[] = str.split("(?<=:\d{4})");
for (String ipAdd: ipAdds)
     System.out.println(ipAdd);

最新更新