如何删除除点和数字以外的所有字符
How to remove all characters but dots and numbers
我需要清除文件中除数字和点以外的所有字符。
数字格式如下:
$(24.50)
我正在使用以下代码来完成任务:
sed 's/[^0-9]*//'
它有效,但最后一个括号没有被删除。在 运行 之后我得到代码:
24.50)
我应该得到:
24.50
请帮忙
我认为您可以使用以下内容:
sed 's/[^0-9.]//g'
您的正则表达式仅匹配 [^0-9.]*
的单个实例。即开头的 $(
。为了使 sed 匹配并替换所有实例,您需要在末尾放置一个 g
,如:
sed 's/[^0-9.]*//g'
g
基本上意味着 "match this regular expression anywhere in the input"。默认情况下,它只会匹配它遇到的第一个实例,然后停止。
我需要清除文件中除数字和点以外的所有字符。
数字格式如下:
$(24.50)
我正在使用以下代码来完成任务:
sed 's/[^0-9]*//'
它有效,但最后一个括号没有被删除。在 运行 之后我得到代码:
24.50)
我应该得到:
24.50
请帮忙
我认为您可以使用以下内容:
sed 's/[^0-9.]//g'
您的正则表达式仅匹配 [^0-9.]*
的单个实例。即开头的 $(
。为了使 sed 匹配并替换所有实例,您需要在末尾放置一个 g
,如:
sed 's/[^0-9.]*//g'
g
基本上意味着 "match this regular expression anywhere in the input"。默认情况下,它只会匹配它遇到的第一个实例,然后停止。