PHP如何只移除字符串开头的数字而保留其他位置的数字?
PHP移除字符串开头数字实现方案
直接提供两种可用实现,均不会影响字符串中间、末尾的数字:
方法1:使用ltrim函数(性能最优)
直接调用PHP内置的左侧字符修剪函数,指定仅移除数字即可:
// 示例代码 $testArr = [ '39P', '208Pb', 'CaSO4', '123test789' ]; foreach ($testArr as $str) { $result = ltrim($str, '0..9'); // 0..9表示所有数字字符 echo $result . PHP_EOL; }
输出结果:
P Pb CaSO4 test789
方法2:正则替换(扩展性更强)
如果后续需要叠加更复杂的开头匹配规则,可以用正则实现:
// 正则规则:^表示字符串开头,\d+匹配1个或多个连续数字 $result = preg_replace('/^\d+/', '', $inputStr);
两种方案都完全符合需求,不需要额外判断字符串开头是否为数字,非数字开头的字符串处理后会保持原内容不变。
内容的提问来源于stack exchange,提问作者Max Lindner
相关产品推荐
相关产品推荐

