我正在传递一个固定的(平面文件)。我需要帮助删除非ascii字符并在非ascii字符使用Perl的字段中追加一个空格都删除双“引号”?我还需要删除任何不可见的字符并留下数据: 我需要使用正则表达式执行此操作;
请参阅以下示例:
FOìO BAR PO BOX 1234
LASDìBA" PO BOX 1234
VìD"Sxxx PO BOX 1234
1: $str =~ s/"/ /g; removes the " and replaces it with a space (good)
2: $str =~ s/[^!-~\s]/ /g;
请帮助:j
答案 0 :(得分:0)
我相信这会用空格替换所有特殊和不可见的字符。
$str =~ s/(.)/(ord($1) > 127) ? " " : $1/egs;
答案 1 :(得分:0)
您可以尝试以下代码:
Android 6.0
输出:
while(<DATA>)
{
$_=~s/([^[:ascii:]]|")/ /g;
print $_;
}
__DATA__
FOìO BAR PO BOX 1234
LASDìBA" PO BOX 1234
VìD"Sxxx PO BOX 1234