所以,我有一个名为prox
y 的字符串,它的值为194.156.123.1.1:8080
。
我如何在结肠处将其减半?
所以我想要2个这样的变量。
IP=194.156.123.1.1
PORT=8080
我知道这很容易,但我是新手,新人遇到的问题对有经验的人来说似乎更容易:)
所以,我有一个名为prox
y 的字符串,它的值为194.156.123.1.1:8080
。
我如何在结肠处将其减半?
所以我想要2个这样的变量。
IP=194.156.123.1.1
PORT=8080
我知道这很容易,但我是新手,新人遇到的问题对有经验的人来说似乎更容易:)
使用string.split:
String proxy = "194.156.123.1.1:8080";
String[] foo = string.split(":");
String ip = foo[0]; // 194.156.123.1.1
String port = foo[1]; // 8080
$len = strlen($str);
$pos = strpose($str, ':');
if ($pos>0 && $pos <($len-1)) {
$ip = substr($str, 0, $pos);
$port = substr($str, $pos+1);
}
substr 和 strpos 更高效、更快。
我已经添加了绑定检查,那么它是安全的。
你可以使用这个。
String proxy= "194.156.123.1.1:8080";
System.out.println("IP: "+proxy.split(":")[0]);
System.out.println("PORT: "+proxy.split(":")[1]);
也可以在字符串类上使用 split 方法
尝试这个 :
String proxy = "194.156.123.1.1:8080";
String[] op = proxy.split(":"); //op[0] = "194.156.123.1.1" and
//op[1] = "8080"
String s = "194.156.123.1.1:8080";
String ip = s.split(":")[0];
String port = s.split(":")[1];
System.out.println(ip + ", " + port);
拆分应该将字符串分离到字符串数组中。
这是来自Java Doc:
public String[] split(String regex) 围绕给定正则表达式的匹配拆分此字符串。此方法的工作方式就像通过使用给定表达式和零限制参数调用双参数拆分方法一样。因此,尾随的空字符串不包含在结果数组中。
例如,字符串“boo:and:foo”通过这些表达式产生以下结果:
Regex 结果:{ "boo", "and", "foo" } o { "b", "", ":and:f" } 参数: regex - 分隔正则表达式
返回: 通过围绕给定正则表达式的匹配拆分此字符串计算的字符串数组