-4

我有一个字符串: /123.456.789.10:111213 我怎样才能删除'/'':111213',所以我仍然会有123.456.789.10

4

6 回答 6

0

尝试使用strpos函数查找 ":" 的位置,然后使用substr

于 2012-12-17T22:06:19.993 回答
0

有很多方法可以做到这一点,最简单的可能是这样:

$result = split('[/:]', $your_string);
$result = $result[1]; // gives "123.456.789.10"

证明它有效:http: //ideone.com/B6Kx6d

但这实际上取决于您想要支持多少初始字符串的变体 - 下面是另一个解决方案(证明:http: //ideone.com/Y6oW6F):

preg_match_all('</(.+)[:]>', $in, $matches);
$result $matches[1][0]; // gives "123.456.789.10"
于 2012-12-17T22:06:28.417 回答
0

如果要使用正则表达式匹配,请执行以下操作:

input = "/123.456.789.10:111213";
echo preg_replace("/(\/)|(:111213)/", '', $input);

尽管对于这种特定情况,简单的字符串函数(下面回答)可能更快。

于 2012-12-17T22:08:56.847 回答
0
echo substr($string, 1, strpos($string, ':'));
于 2012-12-17T22:04:31.333 回答
0
$s = explode(":",$your_string);
echo = substr($s[0], 1);
于 2012-12-17T22:09:38.673 回答
0

不要将正则表达式用于如此简单的事情。字符串函数要快得多...

$old = '/123.456.789.10:111213';
$new = substr($old, strpos($old, '/') + 1, strpos($old, ':'));
echo $new;
于 2012-12-17T22:05:23.050 回答