我有一个字符串,其中包含以下内容.
"This R&M & Exapmle . It is very big & Complicated &146; example."
Run Code Online (Sandbox Code Playgroud)
我想替换&,&但当我使用时$str =~ s/&/&/ig;给出以下输出.
"This R&M & Company  . It is very big & CMM Level3 &146; Organization."
Run Code Online (Sandbox Code Playgroud)
我期待着这一个.
"This R&M & Company . It is very big & CMM Level3 &146; Organization."
Run Code Online (Sandbox Code Playgroud)
请帮帮我,我不知道如何解决它.
Eug*_*ash 11
您可以使用负面预测断言:
$str =~ s/&(?!\w+;)/&/g;
Run Code Online (Sandbox Code Playgroud)
use HTML::Entities;
encode_entities decode_entities "This R&M & Exapmle . It is very big & Complicated &146; example."
# returns: "This R&M & Exapmle . It is very big & Complicated &146; example."
Run Code Online (Sandbox Code Playgroud)
&146;写错了’.如果您有更多这类错误,请在往返编码之前过滤/替换它们.