修剪PHP中字符串中整数之前的所有字符?

时间:2013-01-02 08:31:22

标签: php string substr strpos

我有一个字母数字字符串,例如,

abc123bcdbdfnd567dfd89ds

我想在字符串中第一次出现任何整数之前修剪所有字符。

我的结果应该是,

abcbdfnddfd

我正在考虑使用substr。但不确定如何在首次出现整数之前检查字符串。

6 个答案:

答案 0 :(得分:6)

您可以使用preg_replace [docs]和正则表达式轻松删除您不想要的字符:

$str = preg_replace('#\d.*$#', '', $str);

\d匹配一个数字,.*$匹配任何字符,直到字符串结尾。

详细了解正则表达式:http://www.regular-expressions.info/

DEMO

答案 1 :(得分:3)

可能的非正则表达式解决方案是:

示例:

$string = 'foo1bar';
echo substr($string, 0, strcspn($string, '1234567890')); // gives foo

答案 2 :(得分:1)

$string = 'abc123bcd';
preg_replace("/[0-9]/", "", $string);

trim($string, '0123456789');

答案 3 :(得分:0)

我相信你在寻找这个?

$matches = array();
preg_match("/^[a-z]+/", "dfd89ds", $matches);
echo $matches[0]; // returns dfd

答案 4 :(得分:0)

您可以使用正则表达式:

$string = 'abc123bcd';
preg_match('/^[a-zA-Z]*/i', $string, $matches);
var_dump($matches[0]);

将产生:

abc

答案 5 :(得分:0)

要删除+/-符号,您只需使用:

abs($number)

并获得绝对值。

例如

$abs = abs($signed_integer);