我有一个字符串:
Some string, "it's a nice string". I like it. "some other text"
我想删除空格,不包括在“:
之间Somestring,"it's a nice string".Ilikeit."some other text"
我如何才能实现目标?
答案 0 :(得分:1)
您可以使用正则表达式,也可以欺骗并使用explode()
:
$text_before = 'Some string, "it\'s a nice string". I like it. "some other text"';
$text_after = array();
$text_quotes = explode('"', $text_before);
for ($i = 0, $max = count($text_quotes); $i < $max; $i++) {
if (($i % 2) == 1) {
$text_after[] = $text_quotes[$i];
} else {
$text_after[] = str_replace(' ', '', $text_quotes[$i]);
}
}
echo implode('"', $text_after);
答案 1 :(得分:0)
您可以使用php str_replace函数来实现它。请检查http://php.net/manual/en/function.str-replace.php
答案 2 :(得分:0)
我对正则表达式不好,所以这个解决方案不使用任何正则表达式。我会做什么:
$str = 'Some string, "it\'s a nice string". I like it. "some other text"';
$pieces = explode('"', $str);
for($i = 0; $i < count($pieces); $i += 2){ // Every other chunk is quoted
$pieces[$i] = str_replace(' ', '', $pieces[$i]);
}
$str = implode('"', $pieces);
如果字符串以双引号开头,那么php会使$pieces
数组的第一个元素为空,所以这仍然有效。