gpt4 book ai didi

bash - 如何在 bash 中使用正则表达式从字符串中删除标点符号

转载 作者:行者123 更新时间:2023-12-05 01:59:31 24 4
gpt4 key购买 nike

使用命令 echo "Jiro. Inagaki' & Soul, Media_Breeze."| tr -d '[:punct:]' 打印字符串“Jiro Inagaki Soul MediaBreeze”。

但是,我想找到一个正则表达式来删除除下划线和 & 符号以外的所有标点符号,即我想要“Jiro Inagaki & Soul Media_Breeze”。

根据底部列出的来源中关于字符类减法的建议,我尝试将 [:punct:] 替换为以下内容:

  • [\p{P}\-[&_]]
  • [[:punct:]-[&_]]
  • (?![\&_])\p{P}
  • (?![\&_])[:punct:]
  • [[:punct:]-[&_]]
  • [[:punct:]&&[&_]]
  • [[:punct:]&&[^&_]]

...但到目前为止我还没有得到任何工作。任何帮助将不胜感激!

来源:

最佳答案

您可以指定要删除的标点符号,例如

>echo "Jiro. Inagaki' & Soul, Media_Breeze." | tr -d "[.,/\\-\=\+\{\[\]\}\!\@\#\$\%\^\*\'\\\(\)]"
Jiro Inagaki & Soul Media_Breeze

或者,或者,

>echo "Jiro. Inagaki' & Soul, Media_Breeze." | tr -dc '[:alnum:] &_'
Jiro Inagaki & Soul Media_Breeze

关于bash - 如何在 bash 中使用正则表达式从字符串中删除标点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67797290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com