我有一个字母数字字符串,例如,
abc123bcd
, bdfnd567
, dfd89ds
.
我想在字符串中第一次出现任何整数之前修剪所有字符。
我的结果应该是这样的,
abc
, bdfnd
, dfd
.
我正在考虑使用substr
. 但不确定如何在第一次出现整数之前检查字符串。
preg_replace
您可以使用[docs]和正则表达式轻松删除不需要的字符:
$str = preg_replace('#\d.*$#', '', $str);
\d
匹配一个数字并.*$
匹配任何字符,直到字符串的结尾。
了解更多关于正则表达式的信息:http ://www.regular-expressions.info/ 。
一个可能的非正则表达式解决方案是:
例子:
$string = 'foo1bar';
echo substr($string, 0, strcspn($string, '1234567890')); // gives foo
$string = 'abc123bcd';
preg_replace("/[0-9]/", "", $string);
或者
trim($string, '0123456789');
我相信你正在寻找这个?
$matches = array();
preg_match("/^[a-z]+/", "dfd89ds", $matches);
echo $matches[0]; // returns dfd
您可以为此使用正则表达式:
$string = 'abc123bcd';
preg_match('/^[a-zA-Z]*/i', $string, $matches);
var_dump($matches[0]);
将产生:
abc