我想从逗号分隔值的字符串值中删除逗号。
我正在为我的项目解析mysql插入查询,当字符串值包含逗号时,我会失败。
我在php中工作。
示例:
$temp = "INSERT INTO temp_table VALUES(1,'name','some random, address')";和上面的例子一样,我想删除some random和address之间的逗号。
实际上,查询包含太多的字段和复杂的值。
更新
我没有深入地提到我的问题,遗憾。
我正在从mysql转储文件中读取数据,获取一个数组中的插入查询,然后解析每个查询。
解决方案
preg_replace("/,(?!(?:[^']*'[^']*')*[^']*$)/", '', $var_name);我会做这项工作的,谢谢@Avinash Raj & @MarkusQ
发布于 2014-09-09 22:07:33
首先,您可以使用
$string = str_replace(',', '', $string);但是在给出的示例中,您缺少一个结束' before ",查询将不会执行。
发布于 2014-09-09 22:09:44
如果您的sql有问题,并且无法再次导出,您可以使用正则表达式来改进替换。
$regex = '/(,)(?!\'.*\))/';我建议使用preg_replace($regex,'',"INSERT INTO temp_table VALUES(1,'name','some random,address')");
https://stackoverflow.com/questions/25746709
复制相似问题