Maison > Article > développement back-end > 如何使用正则表达式去掉被双引号包裹的数字两边的双引号
从某云导出数据库表为CSV格式,发现bigint字段两边也被加上了双引号,不应该啊不应该,如何去掉呢?
示例记录:
<code>"31189","aaaa","$P$BFMnptFob/7bmU2o***PNqorSMKzLs0","aaaa","aaa@qq.com","","2015-02-27 02:18:54","","0","oo","0000-00-00" "31191","bbbb","$P$BeRmQEYPfnOfKrKpF***9osOe3v0aq/","bbb","bbb@qq.com","","2015-02-27 04:23:52","","0","bbb","0000-00-00"</code>
从某云导出数据库表为CSV格式,发现bigint字段两边也被加上了双引号,不应该啊不应该,如何去掉呢?
示例记录:
<code>"31189","aaaa","$P$BFMnptFob/7bmU2o***PNqorSMKzLs0","aaaa","aaa@qq.com","","2015-02-27 02:18:54","","0","oo","0000-00-00" "31191","bbbb","$P$BeRmQEYPfnOfKrKpF***9osOe3v0aq/","bbb","bbb@qq.com","","2015-02-27 04:23:52","","0","bbb","0000-00-00"</code>
为啥要去掉php 有对应函数
http://php.net/str_getcsv
昂,已经弄了个php版本的处理了
function fucking_aliyun_rds($line){
<code> if(!$line) return; $line=(string)$line; $pattern='/^\"\d{1,5}\"/'; $int=$replacement=false; if(preg_match($pattern, $line, $matches)){ $int=(int)str_replace('"', '', $matches[0]); }else{ return $line; } if($int){ $replacement = $int; $line=preg_replace('""', '',$line); $b=preg_replace($pattern, $replacement, $line); } $b.="\t"; return $b; </code>
}
$f = fopen ("wp_users.txt", "r");
$ln= 0;
while (! feof ($f)) {
$line= fgets ($f);
/* ++$ln;/
/printf ( $ln);*/
if ($line===FALSE) {
}
else{
<code> $a=fucking_aliyun_rds($line); echo $a; } </code>
}
fclose ($f);