是否有任何preg_replace函数(或任何其他方法)从一串英文单词和中文字符中删除所有不必要的字符。不必要的字符包括所有特殊字符(包括下划线)和数字。请注意,我不希望删除空格,也不希望连接的连字符。
例如:
输入:“我来到北京清华大学!嘿,我是无光泽的 - @ * + = 123 45 6 7 890 .._ my-you”
输出:“我来到北京清华大学,嘿,我喜欢我 - 你”
答案 0 :(得分:0)
试试这个正则表达式:
[!@*+=._]|(?<=\s)-(?=\s)|\d
还会在此块[!@*+=._]
示例来源:
$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;