我目前有一个字符串,比如说$line='55.25040882, 3,,,,,,'
,我想从中删除所有空格以及重复的逗号和句点。目前,我有:
$line =~ s/[.,]{2,}//;
$line =~ s/\s{1,}//;
正如我所得到的那样有效'55.25040882,3'
,但是当我尝试时
$line =~ s/[.,\s]{2,}//;
它拉出“,”并留下“,,,,,”。我想保留第一个逗号并去掉空格。
有没有办法用一行正则表达式优雅地做到这一点?如果我需要提供其他信息,请告诉我。
编辑:由于有很多解决方案,我决定用以下答案更新我的问题:
$line =~ s/([.,])\1{1,}| |\t//g;
这将删除所有重复的句点和逗号,删除所有空格和制表符,同时保留 \r 和 \n 字符。有很多方法可以做到这一点,但这是我解决的方法。非常感谢!