1

如何仅删除括号内的数字?例如,我有以下文本:

This is 14 April [988] text..

我想删除[988]14保持原样。

到目前为止我已经尝试过:

sed 's@\[[0-9]\]@@g'
4

3 回答 3

4

您可以使用:

在 Mac 上:

sed -E 's@\[[0-9]+\]@@g'

在 Linux 上:

sed -r 's@\[[0-9]+\]@@g'
于 2012-10-16T19:20:16.533 回答
3

您需要启用重复(多个)数字字符才能完成这项工作 - 就目前而言,您的正则表达式将仅删除一位数字。如果您想要由至少一个(一个或多个)数字字符组成的数字,请尝试

sed -E 's/\[[0-9]+\]//g'
于 2012-10-16T19:15:19.297 回答
1

这应该有效(添加了转义的+

sed 's@\[[0-9]\+\]@@g'
于 2012-10-16T19:15:06.830 回答