如何使用PHP提取字符串中的首个数字序列?
PHP提取字符串中的首个数字序列
你当前用preg_replace('/[^0-9]/', '', $my_string)会把所有数字保留并拼接,所以得到了034372350352。要提取首个连续数字序列,应该用preg_match精准匹配第一个符合的数字串:
实现代码
$my_string = ' (VAT code) Địa chỉ (Address) 034372 350-352 Võ Văn Kiệt, Phường Cô Giang'; // 匹配首个连续数字序列 preg_match('/\d+/', $my_string, $matches); // 获取结果,无匹配时返回空字符串 $first_number = $matches[0] ?? ''; echo $first_number; // 输出:034372
说明
\d+正则表示匹配一个或多个连续的数字,preg_match只会返回第一个匹配到的结果,正好满足提取首个数字序列的需求。?? ''是PHP7+的空合并运算符,避免当字符串中没有数字时,访问$matches[0]出现未定义索引的错误。
内容的提问来源于stack exchange,提问作者learnBVOT
相关产品推荐
相关产品推荐

