【问题标题】:Looking for regexp to keep some strings寻找正则表达式来保留一些字符串
【发布时间】:2017-02-21 10:56:43
【问题描述】:

这是我正在尝试正则表达式的字符串:

15C (59F) 环境温度、22C (71F)、20C (68F)、26C (78F)、21C (69F)、27C (80F)、30C (86F)、33C (91F)

实际上,我想只保留没有 C 字母的温度值,并删除其他字符串。

有人可以帮我这样做吗? 提前致谢!

【问题讨论】:

  • 您使用什么语言?你试过什么?
  • 你尝试了什么?
  • 谢谢。我用sed。我尝试了 Wiktor 提供的解决方案,但没有奏效,你能给我完整的线路,包括 Sed 吗?谢谢。
  • 要标记用户,您必须使用@。我没有使用sed,但由于它是POSIX,我认为您需要将\ds 换成[0-9]\s 到一个空格。

标签: regex string sed


【解决方案1】:

使用 GNU grep:

grep -oP '[0-9]+(?=C)' file

输出:

15 22 20 26 21 27 30 33

【讨论】:

  • 谢谢 Cyrus,它运行良好。但是您有其他使用 sed 命令的解决方案吗?
  • 使用 GNU sed 并产生一行:sed 's/C ([0-9]\+F)[^,]*,*//g' file
  • 完美!谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-22
相关资源
最近更新 更多