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

如何提取特定字符连接的两个单词首字母并保留连接符?

解决方案

你当前的正则会把单词间的下划线也替换掉,只需调整替换规则,保留匹配到的下划线即可。

修正后的代码:

$str = 'hello_world';
echo preg_replace("/(\w)[^_]*(_|$)/", "$1$2", $str);

正则说明

  • (\w):捕获每个单词的首字母,作为分组1
  • [^_]*:匹配首字母之后到下划线/字符串结尾的所有非下划线字符
  • (_|$):匹配单词后的下划线(作为分组2)或者字符串结束位置
  • 替换为$1$2:保留首字母和对应的下划线,最终就能得到h_w的结果。

如果要处理多个下划线分隔的单词(比如foo_bar_baz转为f_b_b),这个正则同样适用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 16:12:01