-4

私は文字列を持っています: /123.456.789.10:111213 どうすればとを削除でき'/'ます':111213'123.456.789.10

4

6 に答える 6

0
echo substr($string, 1, strpos($string, ':'));
于 2012-12-17T22:04:31.333 に答える
0

非常に単純なものに正規表現を使用しないでください。文字列関数ははるかに高速です...

$old = '/123.456.789.10:111213';
$new = substr($old, strpos($old, '/') + 1, strpos($old, ':'));
echo $new;
于 2012-12-17T22:05:23.050 に答える
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
$s = explode(":",$your_string);
echo = substr($s[0], 1);
于 2012-12-17T22:09:38.673 に答える