0

我有一个 sql 转储并想遍历行然后在每行中更改、删除和插入特定字段。现在我需要替换所有出现的','开始和结束每个字段值的 sql。

我只需要帮助解决我的最后一个问题。我需要用我的 splitter 替换所有在逗号前后都有数字的逗号#***#

我找到了这个正则表达式,/(^\d,\d)*$/但有些它不能完成这项工作!我有包含逗号的文本字段,所以我不想替换那些因为

$sqlrows = str_replace(",",'#***#',preg_match('/(^\d,\d)*$/', $sqlrows)); 
// defines sql dump regex [0-9],[0-9]
4

2 回答 2

0

您应该使用 preg_replace() 而不是 str_replace() ,如下所示:

$sqlrows = preg_replace( '/(^\d,\d)*$/', "#***#", $sqlrows );
于 2013-06-24T15:43:26.490 回答
0

“我需要用我的分隔符 # * #替换逗号前后有数字的所有逗号。”

试试这个方法:

<?php
$str = '1,2
3,4
';
$str = preg_replace('/(\d),(\d)/', '$1#***#$2', $str);

print $str;

印刷:

1#***#2
3#***#4

我找到了所有逗号,用数字包围,并用你的分隔符替换它们,通过使用反向引用保持数字完整。

于 2013-06-24T15:45:27.070 回答