Php 删除字符串开头的非数字字符

Php 删除字符串开头的非数字字符,php,regex,preg-match,Php,Regex,Preg Match,我需要从输入字段中获取值,找到其中的第一个数字,然后删除该数字之前的所有内容 但我需要保持数字(以及后面的任何数字)不变 我尝试了一些选择,但做不到 有什么想法吗 我设法找到了第一个号码。但当我试图删除之前的所有内容时,我也会删除第一个数字,或者删除其他内容(如句号和逗号) 以下是我如何获得第一个数字位置: $stringPrice = '__.500,00'; if(preg_match('/[0-9]/', $stringPrice, $positionNum, PREG_OFFSET_CA

我需要从输入字段中获取值,找到其中的第一个数字,然后删除该数字之前的所有内容

但我需要保持数字(以及后面的任何数字)不变

我尝试了一些选择,但做不到

有什么想法吗

我设法找到了第一个号码。但当我试图删除之前的所有内容时,我也会删除第一个数字,或者删除其他内容(如句号和逗号)

以下是我如何获得第一个数字位置:

$stringPrice = '__.500,00';
if(preg_match('/[0-9]/', $stringPrice, $positionNum, PREG_OFFSET_CAPTURE)) {
    echo "First number is at " . $positionNum[0][1];
} else {
    echo "Invalid value";
}

您当前的问题是删除从字符串开头到第一个数字的所有非数字字符

使用


^
确保匹配从字符串的开头开始,并且
\D+
匹配一个或多个字符(数字除外)。

由于您没有显示任何尝试执行的操作,因此人们会向下投票。帮助那些没有尝试过的人是不好的。如果你有一些代码,展示出来,人们会很乐意帮助你。我试过使用regex和preg-match,这就是为什么我把它们作为相关主题。如果有问题的话,为什么不在投票前询问代码呢?我没有投票,我只是向你解释为什么人们在这里投票。你说你已经试过了,刚刚通过你的尝试,每个人都会很高兴:)已经试过了。我也没拿枪指着你。只是一般地问为什么。一切都很好,但您并没有尝试所有的方法来操作字符串。你有substr、strpos等函数。我们尝试用“d”代替“d+”。
preg_replace('/^\D+/', '', $stringPrice);