我正在寻找一个正则表达式来替换以下模式 [|此示例字符串中的 E14L0]请帮忙
cash|E14L0^7.0,cash|E14L2^7.0,cash|E14L1^7.0,receivables^107.0,cash|E14L3^7.0,
期望的输出是
"cash"^7.0 "cash"^7.0 "cash"^7.0 "receivables"^107.0 "cash"^7.0
要求所有模式 |E{数字}L{数字} 需要替换为 '"'
(双引号(两个术语之间的所有','
都需要替换为' "'
{空格双引号}
感谢您的帮助。
匹配您的模式的正则表达式将是'|E'd+L'd+'^([^,]+),
,我相信您会像这样使用它: preg_replace("''|E''d+L''d+''^([^,]+),", "'"$1 '"", target_string)
- 请注意模式参数中反斜杠的加倍。
编辑:我错过了关于空格的第二个要求 - 添加。
为此,您需要两种替换模式:
echo preg_replace(['/'|E'd+L'd+/','/'b,'b/'], ['"', ' "'], $str);
结果是:
cash"^7.0 "cash"^7.0 "cash"^7.0 "receivables^107.0 "cash"^7.0,