我想从逗号分隔值的字符串值中删除逗号。
我正在为我的项目解析mysql插入查询,当字符串值包含逗号时我失败了。
我在php工作。
示例:
$temp = "INSERT INTO temp_table VALUES(1,'name','some random, address')";
如上例所示,我想删除some random
和address
之间的逗号。
实际上,查询包含太多字段和复杂值。
我没有深入提到我的问题,感到遗憾。
我正在读取mysql转储文件,在一个数组中提取插入查询,然后解析每个查询。
preg_replace("/,(?!(?:[^']*'[^']*')*[^']*$)/", '', $var_name);
将完成这项工作,谢谢@Avinash Raj& @MarkusQ
答案 0 :(得分:-1)
首先,您可以使用
$string = str_replace(',', '', $string);
但是在给出的示例中,您在“之前错过了结束',并且查询将无法执行。
答案 1 :(得分:-2)
如果您的SQL出现问题并且无法再次导出,则可以使用正则表达式来改进替换。
$regex = '/(,)(?!\'.*\))/';
我建议像preg_replace($ regex,''," INSERT INTO temp_table VALUES(1,' name','一些随机,地址&#) 39)&#34);