从一串英文单词和汉字中删除所有不必要的字符

时间:2018-01-31 05:58:06

标签: regex preg-replace preg-match preg-match-all preg-split

是否有任何preg_replace函数(或任何其他方法)从一串英文单词和中文字符中删除所有不必要的字符。不必要的字符包括所有特殊字符(包括下划线)和数字。请注意,我不希望删除空格,也不希望连接的连字符。

例如:

输入:“我来到北京清华大学!嘿,我是无光泽的 - @ * + = 123 45 6 7 890 .._ my-you”

输出:“我来到北京清华大学,嘿,我喜欢我 - 你”

1 个答案:

答案 0 :(得分:0)

试试这个正则表达式:

[!@*+=._]|(?<=\s)-(?=\s)|\d

还会在此块[!@*+=._]

中添加您要删除的任何内容

Demo

示例来源:

$re = '/[!@*+=._]|(?<=\s)-(?=\s)|\d/u';
$str = '我来到北京清华大学 ! hey i am matt - @ * + = 123 45 6 7 890 .._my-you';
$subst = '';

$result = preg_replace($re, $subst, $str);

echo $result;