$string='A;B;C;1;2-;D'
我怎样才能从上面的字符串中删除所有字符,但保留字母和“;”
试试这个简单的正则表达式:
preg_replace('/[^A-Z;]+/', '', $string);
或者
preg_replace('/[^A-Z;]+/i', '', $string);
如果您需要不区分大小写。
您可以使用:
$repl = preg_replace('/[^a-z;]+/i', '', $str);
^a-z;
方括号内(字符类)表示匹配除英文字母a-z
(范围)或分号之外的任何内容;
/i
用于忽略大小写以避免匹配大写/小写英文字母。
尝试这个
preg_match('/[^a-z;]/i', $string);