如何在php中删除带有数字的特定字符串?

如何在php中删除带有数字的特定字符串?,php,regex,preg-replace,Php,Regex,Preg Replace,我有一个字符串,$23或9美元在其中。我尝试使用以下函数删除字符串中的该部分(包括$和!),但似乎不起作用 有人知道我做错了什么吗 function remove($t) { return preg_replace('$/[0-9]+/!','',$t); } 您似乎在错误的位置使用了/,需要退出$,因为它有一个 正则表达式:/\$[0-9]+/ 要使用的标志: g用于全局搜索,即所有结果。(如果有人希望在其他正则表达式中使用此选项。) 首先,您需要分隔符,第二,转义$,第

我有一个字符串,
$23
9美元在其中。我尝试使用以下函数删除字符串中的该部分(包括
$
),但似乎不起作用

有人知道我做错了什么吗

function remove($t) {
    return preg_replace('$/[0-9]+/!','',$t);
}

您似乎在错误的位置使用了
/
,需要退出
$
,因为它有一个

正则表达式:
/\$[0-9]+/

要使用的标志:

  • g
    用于全局搜索,即所有结果。(如果有人希望在其他正则表达式中使用此选项。)



首先,您需要分隔符,第二,转义
$
,第三,使用
\d+

在PHP中,这将是:

function remove($t) {
    return preg_replace('~\$\d+!~','',$t);
}

您似乎在错误的位置使用了
/
。您不需要
g
修饰符,
preg\u replace
总是替换所有匹配项。我认为使用\d而不是[0-9]处理外来数字也会更好。@Dev.Tareq:我同意您的看法,但OP没有提到任何有关外来数字的内容。更重要的是,OP试图匹配的不是用户输入。若那个部分在用户输入后反映在字符串中,我希望OP会提到它。所以现在
[0-9]
还可以。@Barmar:谢谢。添加了一个旁注。@noob对不起,我本来打算在粘贴了原件后编辑正则表达式,但它不起作用。在任何情况下,您的解决方案都是完美的。谢谢你的帮助。
function remove($t) {
    return preg_replace('~\$\d+!~','',$t);
}