我有一个如下所示的字符串,
印度时报,2009年10月,a 她独唱的着名艺术评论家 贾瓦尔,贾瓦哈尔卡拉的展览 肯德拉特,2009年9月23日至29日。“很多人 她的画作包括她的自我 肖像,人文学科的压力 奇异的困境和漫无目的“
在上面的字符串中,我需要删除以下字符
,
"
'
-
.
我可以使用任何字符串函数来删除这些字符吗?
答案 0 :(得分:3)
您可以使用str_replace替换字符数组
$str = "Hindustan Times, Oct 2009, Review by a well known Art critic on her solo exhibition at Jaipur, Jawahar Kala Kendra'th, 23-29th Sep 2009. \"Many of her paintings including her self portrait, stress in humanities singular plight and aimlessness";
$search = array(',', '"', "'", '-', '.');
$clean = str_replace($search, ' ', $str);
echo $clean;
答案 1 :(得分:1)
或者,您可以选择删除不是字母数字或空格的所有字符,而不是列出您不想要的所有字符:
preg_replace("/[^A-Za-z0-9\s]/", "", $str);
当然,这会删除所有标点符号,也许会删除比你想要的更多的字符。
答案 2 :(得分:0)
使用preg_replace,并用空字符串替换所需的集合。
答案 3 :(得分:0)
JohnP has the right way with using str_replace()
。经验法则基本上只使用正则表达式,其他字符串方法不会(或至少不是很好)。
但是,如果你想使用正则表达式,你也可以这样做。
您可以在字符类中输入这些字符,注意要转义字符串分隔符,也要以字面方式使用-
,而不是作为范围。
preg_replace('/[,"\'.-]+/', '', $str);