我正在寻找一个正则表达式,用于从此示例字符串中替换以下模式[| 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 {digit} L {digit} 需要替换为'"'
(双引号)
两个术语之间的所有','
都需要替换为' "'
{space double quote}
感谢您的帮助。
答案 0 :(得分:0)
匹配你的模式的正则表达式是\|E\d+L\d+\^([^,]+),
,我相信你会像这样使用它:preg_replace("\\|E\\d+L\\d+\\^([^,]+),", "\"$1 \"", target_string)
- 注意模式参数中反斜杠的加倍
编辑:我错过了关于空格的第二个要求 - 添加。
答案 1 :(得分:0)
您需要两种替换模式:
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,