我有一个字母数字字符串,例如,
abc123bcd
,bdfnd567
,dfd89ds
。
我想在字符串中第一次出现任何整数之前修剪所有字符。
我的结果应该是,
abc
,bdfnd
,dfd
。
我正在考虑使用substr
。但不确定如何在首次出现整数之前检查字符串。
答案 0 :(得分:6)
您可以使用preg_replace
[docs]和正则表达式轻松删除您不想要的字符:
$str = preg_replace('#\d.*$#', '', $str);
\d
匹配一个数字,.*$
匹配任何字符,直到字符串结尾。
详细了解正则表达式:http://www.regular-expressions.info/。
答案 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)