从字符串php中删除数字(数字)

时间:2014-11-16 21:27:02

标签: php regex

从字符串中删除数字的最简单方法是什么? 字符串看起来像这样:

Green 1
Green 10
Green 100
Green 101
Green 102
Green 103
Green 104
Green 105
Green 106
Green 107
Green 108
Green 109
100 Bullets 1 
100 Bullets 10 
100 Bullets 11 
100 Bullets 12 
100 Bullets 13 
100 Bullets 2 
100 Bullets 3 

我希望他们看起来像这样:

Green 
Green
Green
Green
Green
Green
Green
Green
Green
Green
Green
Green
100 Bullets
100 Bullets 
100 Bullets 
100 Bullets 
100 Bullets 
100 Bullets 
100 Bullets 

我主要关注的是从字符串中删除数字。我认为正则表达式对此有好处。

3 个答案:

答案 0 :(得分:1)

您可以使用的rexeg是\d+$

正则表达式说明:

NODE                     EXPLANATION
--------------------------------------------------------------------------------
  \d+                      digits (0-9) (1 or more times (matching
                           the most amount possible))
--------------------------------------------------------------------------------
  $                        before an optional \n, and the end of the
                           string

工作代码

$rString = "12 foobar 123";
$nString = preg_replace("/\d+$/","",$rString);
echo $nString;

See working example


注意

因为我们只查看字符串的结尾,所以我们需要确保结尾不包含空格。您可以使用PHP中的trim()函数解决此问题。

$rString = trim("12 foorbar 123    ");

答案 1 :(得分:0)

我认为preg_replace("#\s+\d+$#", "", $item);应该可以解决问题,但你必须逐行解析列表。

答案 2 :(得分:0)

您可以尝试使用\d+$。确保先修剪琴弦