我目前有一個字符串,比如說$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字符。有很多方法可以做到這一點,但這是我解決的問題。非常感謝!
更新正則表達式,考慮時間也。錯過了。 –
這是正確的 – shashuec
這一個似乎也刪除\ r和\ n。不過,它工作得很好,但! – Thumper