【发布时间】:2011-03-22 17:42:13
【问题描述】:
我有一个这样的字符串:
" 23 PM"
我想删除23,所以我只剩下PM 或(空格被截断)只是PM。
有什么建议吗?
需要在 PHP 中
【问题讨论】:
-
我会仔细阅读每个答案并选择最适合您需求的解决方案。有许多不同的答案,结果有些被不必要地否决了。
我有一个这样的字符串:
" 23 PM"
我想删除23,所以我只剩下PM 或(空格被截断)只是PM。
有什么建议吗?
需要在 PHP 中
【问题讨论】:
echo trim(str_replace(range(0,9),'',' 23 PM'));
【讨论】:
【讨论】:
【讨论】:
也可以使用 str_replace,这通常是 RegEx 的更快替代方案。
str_replace(array(1,2,3,4,5,6,7,8,9,0,' '),'', ' 23 PM');
// or
str_replace(str_split(' 0123456789'), '', ' 23 PM');
它将替换任何数字 0-9 和字符串中的空格,无论位置如何。
【讨论】:
如果您只想要字符串的最后两个字符,请使用带有负数开头的substr:
$pm = substr(" 23 PM", -2); // -> "PM"
【讨论】:
$str = preg_replace("/^[0-9 ]+/", "", $str);
【讨论】:
正则表达式
preg_replace('#[0-9 ]*#', '', $string);
【讨论】:
您还可以使用以下内容:
preg_replace('/\d/', '',' 23 PM' );
【讨论】:
trim() 将允许使用点语法在“字符掩码”参数中包含一系列字符。
代码:(Demo)
// v--------literal spaces
trim(" 23 PM", ' 0..9')
// ^^^^----all digits
// output: PM
【讨论】: