当前位置:  开发笔记 > 编程语言 > 正文

删除一个字符的单词

如何解决《删除一个字符的单词》经验,为你挑选了1个好方法。

我正在寻找一个正则表达式删除一个字符单词.我不介意是否使用perl,awk,sedbash内置插件.

测试用例:

$ echo "a b c d e f g h ijkl m n opqrst u v" | $COMMAND

期望的输出:

ijkl opqrst

到目前为止我尝试过的:

$ echo "a b c d e f g h ijkl m n opqrst u v" | sed 's/ . //g'
acegijkln opqrstv

我猜是这样的:

a不会被删除,因为有之前没有空格

c遗体因为一旦b已被删除,有之前没有更多的空白

等等...

尝试#2:

$ echo "a b c d e f g h ijkl m n opqrst u v" | sed 's/\w.\w//g'
     s v

在这里,我根本不知道发生了什么.

欢迎任何帮助+解释,我想学习.



1> sat..:

您必须使用单词边界\b(或)\<\>分别匹配单词开头和结尾的空字符串.

echo "a b c d e f g h ijkl m n opqrst u v" | sed 's/\b\w\b \?//g'

(要么)

echo "a b c d e f g h ijkl m n opqrst u v" | sed 's/\<.\> \?//g'


或与GNU awk相同的解决方案:`awk'{gsub(/\<.\>?/,"")} 1'.
推荐阅读
夏晶阳--艺术
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有