我有一个包含以下内容的CSV文件:
"Title","Firstname","Lastname","Description"
"Mr","Peter","Tester",,
"Mrs",,"Master","Chief, Supporter"
"Mr","Seg, Jr.","Tuti","Head, Developer"
现在我想删除preg_replace
("Chief, Supporter"
; "Seg, Jr."
; "Head, Developer"
)引用的有关逗号的引号。
但我无法构建合适的正则表达式。
我的上一个结果如下:/\"(.[^\",]*),(.[^\"]*)\"/i
答案 0 :(得分:1)
您的要求有点不清楚,但如果我理解正确,您希望删除逗号,如果双引号字符串中存在逗号,那么
e.g。 "Head, Developer"
变为"Head Developer"
等
基于这个假设然后
/\"([^\"]+?),+ *(\w[^\"]+?)\"/gmi
会找到这些逗号,
"$1 $2"
将用空格替换它。
请参阅demo here
PHP示例(我不熟悉php,因此字符转义等可能需要调整)
<?php
$string = '"Mr","Seg Jr.","Tuti","Head Developer"';
$pattern = '/\"([^\"]+?),+ *(\w[^\"]+?)\"/gmi';
$replacement = '"$1 $2"';
echo preg_replace($pattern, $replacement, $string);
?>
答案 1 :(得分:-1)
使用此正则表达式:((?>\*\*)),((?>\*\*))
在括号中捕获**
并替换为,
,请参阅DEMO