我想删除最后一个数字,包括此字符串中的短划线:
您好世界-093
结果应该是:
您好世界
答案 0 :(得分:2)
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' ;
preg_replace ( '/-[0-9]*$/' , '' , $subject);
上述模式将删除-
以及字符串末尾的所有数字。
答案 1 :(得分:1)
http://php.net/manual/en/function.strrpos.php
strrpos - 查找字符串中最后一个子字符串的位置
使用字符strrpos
执行-
,并且您知道结果将是字符串中-
的最后位置。
现在,您只能使用http://www.php.net/manual/en/function.substr.php获取字符串的第一部分,并将您的位置作为长度。
答案 2 :(得分:0)
这是另一种方式。我认为这不是最好的方式,而是另一种给猫皮肤的方式。我认为理解解决问题和探索问题的方法很多很重要。通过学习从不同角度解决问题,你将学到很多东西。
祝你好运,希望这会有所帮助, 蒂姆杜马斯Tim@mpact-media.com
<?php
$pattern = "/^(.*)-[0-9]*$/";
$string = "hello-world-093";
preg_match($pattern, $string, $matches);
print_r($matches);
?>