我想从这个字符串中删除最后一个数字,包括破折号:
你好世界093
结果应该是:
你好世界
http://php.net/manual/en/function.preg-replace.php
mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] );
在你的情况下,它应该是这样的:
$subject = 'hello-world-093' ;
$subject_stripped = preg_replace ( '/-[0-9]*$/' , '' , $subject);
上述模式将删除-
字符串末尾的和所有数字。
http://php.net/manual/en/function.strrpos.php
strrpos — 查找字符串中最后一次出现的子字符串的位置
strrpos
对字符进行操作,您-
就知道结果将是-
字符串中 a 的最后一个位置。
现在,您可以通过使用http://www.php.net/manual/en/function.substr.php并提供您的位置作为长度来仅获取字符串的第一部分。
这是另一种方式。我提供这不是最好的方法,而只是另一种剥猫皮的方法。我认为重要的是要了解有很多方法可以解决问题并进行探索。通过学习从不同角度解决问题,您将学到很多东西。
祝你好运,希望这会有帮助,
蒂姆·杜马斯
Tim@mpact-media.com
<?php
$pattern = "/^(.*)-[0-9]*$/";
$string = "hello-world-093";
preg_match($pattern, $string, $matches);
print_r($matches);
?>