Regex 如何剥离一个句子只保留字母、数字和空格
我有很多句子需要从所有特殊字符和标点符号中清理出来(我只想保留字母、数字和空格),例如:Regex 如何剥离一个句子只保留字母、数字和空格,regex,Regex,我有很多句子需要从所有特殊字符和标点符号中清理出来(我只想保留字母、数字和空格),例如: $string = "TB Avrupa ve Türkiye'nin en iyi oranlari ile Lider Bahis Sitesi!!"; $final_title = preg_replace('/[^a-z]+/i', '', $string); 这将删除所有内容(带有空格) 我需要保留空格我可以在前一行中添加任何内容来实现此目的吗 预期产出: TB Avrupa ve Türki
$string = "TB Avrupa ve Türkiye'nin en iyi oranlari ile Lider Bahis Sitesi!!";
$final_title = preg_replace('/[^a-z]+/i', '', $string);
这将删除所有内容(带有空格)
我需要保留空格我可以在前一行中添加任何内容来实现此目的吗
预期产出:
TB Avrupa ve Türkiyenin en iyi oranlari ile Lider Bahis Sitesi
您需要将正则表达式更改为:
$final_title = preg_replace('/[^a-z0-9 ]+/i', '', $string);
这将保留数字和空格
我不知道你的具体要求是什么,但是,
u
在某些语言中是一个有效的字母
如果您还想保留这些,则需要创建如下正则表达式:
$final_title = preg_replace('/[\p{L}0-9 ]+/i', '', $string);
我只想保留字母、数字和空格
您可以使用此正则表达式删除除英文字母、数字和空格以外的所有内容:
preg_replace('/[^a-z\d ]+/i', '', $string);
只需包含您想要保留的任何字符:
'/[^a-z0-9 ]+/i'
试试这个:
preg_replace('/[^A-Z^a-z^0-9^şŞıİçÇöÖüÜĞğ ]+/i', '', $string);
预期的结果是什么?哇,几乎所有的答案在同一时间都有相同的答案!regexp的哪个部分使其不区分大小写?是/i吗?@DavidBrossard:
a-z
部分否则要避免/i
需要使用/[^a-Za-z\d]+/
@DavidBrossard是结尾的i
指定。@DavidBrossard//code>发出模式开始和结束的信号。i
则是不区分大小写的选项。