在我的Excel文件中,我有一个参数,其中包含文章的描述(类型字符串)。
在解析文件中,它不读取包含quote '
的描述的字段;它跳过它们,就像这个描述的例子一样:
CABO VERDE 'TACV'
我通过添加测试更改了getter方法,但它不起作用:
public function getName() {
if($this->_name= str_replace(''','\'', $this->_name)){
return $this->_name;
}
}
如何更改方法以读取描述字段的所有数据?
答案 0 :(得分:3)
1)比较运算符为==
,而不是=
2)语法错误;要么逃避内部引号,要么使用双引号
应该是
if($this->_name==str_replace("'",'', $this->_name)
此代码试图找出是否存在'在字符串中,有很多方法可以做到这一点。我会用
if(strstr($this->_name,"'")===FALSE)
// ' is not present in name
但你的方法也没错。
答案 1 :(得分:1)
使用您当前的str_replace方法:
if($this->_name == str_replace("'", "", $this->_name)
{
return $this->_name;
}
虽然很难看到,但第一个参数是双引号,后跟单引号后跟双引号。第二个参数是两个双引号,两者之间没有任何内容。
使用str_replace,你甚至可以拥有一个你想要完全删除的字符串数组:
$remove[] = "'";
$remove[] = '"';
$remove[] = "-"; // just as another example
$FileName = str_replace( $remove, "", $this->_name);