Regular-Expression
數據清理問題 - 用於刪除尾隨空格和逗號組合的正則表達式
我有地址字元串(由於初始程式不佳)允許輸入過多的自由文本。在清理這個繼承的爛攤子的過程中,我注意到在地址欄位的末尾,經常有(而且經常不是)我想去掉的逗號。
問題是(再次,經常!)那些輸入數據的人(由線路支付……)輸入的字元串如下:
`address_1_string , `
那是 address_1_string 後跟兩個空格,然後是我要刪除的逗號,然後是另外兩個空格。
address_string_1
空格的數量(在逗號之前或之後)是任意的,通常從 0 到 5。由於本身可能具有內部(有效)逗號這一事實,問題變得更加複雜。所以,我正在尋找的是一個正則表達式,它到達行尾,刪除任何尾隨空格,第一個逗號,然後是更多空格,直到有效
$$ a-zA-Z0-9 $$($$ :alphanum: $$?) 字元被找到。 我有正則表達式的概念,但這超出了我的工資等級。這是我在 Stackexchange 上的第一篇文章,所以如果我在錯誤的地方,請重定向我。TIA。
< input sed 's/[[:space:],]*$//' > output
將刪除行尾的所有空格和逗號字元。
為了在適當的位置編輯文件,一些
sed
實現有一個受’s選項-i
啟發的選項:perl``-i
sed -i 's/[[:space:],]*$//' input-and-output # GNU, busybox, NetBSD, OpenBSD sed -i '' 's/[[:space:],]*$//' input-and-output # FreeBSD, macOS