使用PHP从字符串中删除最后一个数字?

时间:2013-03-04 23:59:44

标签: string numbers

我想删除最后一个数字,包括此字符串中的短划线:

  

您好世界-093

结果应该是:

  

您好世界

3 个答案:

答案 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);
?>