>我的字符串是
$str = ' 4/151n';
我的正则表达式是
preg_match_all('/[^!$|@|!|#|%|'^|&|*|(|)|_|'–|'-|+|=|''|'/|{|}|'[0-9']|.|,|'|:|;|"|''|'s+|→|<|>|'~'[''r''n''t']~]/', $str, $matches);
我的输出是
Array
(
[0] => �
[1] => n
)
我需要的输出是
Array
(
[0] => n
)
让我清楚地解释我的要求。我需要从字符串中删除所有特殊字符、数字、新行、空格。上面的正则表达式适用于所有情况,除了上面的字符串。
对于上面的字符串,我在第 0 个位置得到了一些未知字符。需要删除它。
请帮帮我!
提前感谢!
我需要删除所有特殊字符、数字、新行、空格
您可以只使用:
$str = preg_replace('/'P{L}+/u', '', $str);
//=> n
在这里,'P{L}+
匹配一个或多个支持 unicode 的非字母。
正则表达式演示
更新:根据OP的这一评论:
如果我在一个字符串中有多个单词,我需要将它们放在一个数组中
您可以使用:
if (preg_match_all('/'p{L}+/u', $str, $m))
print_r($m[0]);