繁体   English   中英

无法使用php regex删除字符串中的空格和换行符

[英]Unable to remove white spaces and new lines in a string using php regex

我的字符串是

$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}+匹配1个或多个具有unicode支持的非字母。

RegEx演示


更新:根据OP的评论:

如果我在一个字符串中有多个单词,我需要将它们放在一个数组中

您可以使用:

if (preg_match_all('/\p{L}+/u', $str, $m))
    print_r($m[0]);

RegEx演示2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM