我有这样一行:
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);