从逗号分隔的字符串中删除逗号

时间:2014-09-09 14:06:18

标签: php mysql regex

我想从逗号分隔值的字符串值中删除逗号。

我正在为我的项目解析mysql插入查询,当字符串值包含逗号时我失败了。

我在php工作。

示例:

$temp = "INSERT INTO temp_table VALUES(1,'name','some random, address')";

如上例所示,我想删除some randomaddress之间的逗号。

实际上,查询包含太多字段和复杂值。

更新

我没有深入提到我的问题,感到遗憾。

我正在读取mysql转储文件,在一个数组中提取插入查询,然后解析每个查询。

preg_replace("/,(?!(?:[^']*'[^']*')*[^']*$)/", '', $var_name);

将完成这项工作,谢谢@Avinash Raj& @MarkusQ

2 个答案:

答案 0 :(得分:-1)

首先,您可以使用

 $string = str_replace(',', '', $string);

但是在给出的示例中,您在之前错过了结束',并且查询将无法执行。

答案 1 :(得分:-2)

如果您的SQL出现问题并且无法再次导出,则可以使用正则表达式来改进替换。

$regex = '/(,)(?!\'.*\))/';

我建议像preg_replace($ regex,''," INSERT INTO temp_table VALUES(1,' name','一些随机,地址&#) 39)&#34);