我需要清除文件中的所有字符,但要清除数字和点。
数字的格式如下:
$(24.50)
我使用以下代码完成任务:
sed 's/[^0-9]*//'
它可以工作,但最后一个括号不会被删除。运行代码后我得到:
24.50)
我应该得到:
24.50
请帮忙
答案 0 :(得分:1)
我认为您可以使用以下内容:
sed 's/[^0-9.]//g'
答案 1 :(得分:1)
您的正则表达式仅匹配[^0-9.]*
的单个实例。即,$(
开头。为了让sed匹配并替换所有实例,您需要在结尾添加g
,如:
sed 's/[^0-9.]*//g'
g
基本上意味着"在输入"中匹配此正则表达式 where 。默认情况下,它只会在遇到的第一个实例上匹配,然后停止。