You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何删除字符串中紧跟在数字后的字符?PHP地址门牌号处理方法

解决方案

你可以直接调整正则匹配规则,一次性删除「连续数字+紧随其后无空格的所有字符」的整块门牌号内容,无需单独逐个删数字,修改后的代码如下:

<?php
$string = '25a Test Lane';
$string = preg_replace("/\d+\S*\s?/", "", $string);
// 输出结果为:Test Lane
?>

正则规则说明

  • \d+:匹配1个及以上的连续数字
  • \S*:匹配紧随数字之后的0个及以上非空白字符(覆盖所有和数字紧邻无空格的字母、符号等内容)
  • \s?:匹配门牌号后可选的1个空格,避免删除门牌号后字符串开头残留多余空白

验证效果

不同输入的处理结果参考:

  • 输入'123B Oak Street' → 输出'Oak Street'
  • 输入'45-c 幸福路' → 输出'幸福路'
  • 输入'无数字门牌号的地址' → 输出'无数字门牌号的地址'(无匹配项时原内容不改动)

如果你的地址门牌号固定在字符串开头,想要避免误删地址中间的数字内容,可以把正则调整为/^\d+\S*\s?/,加^锚定只匹配字符串开头的门牌号块。

内容的提问来源于stack exchange,提问作者threeedv

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 18:57:03