【发布时间】:2013-09-18 10:04:16
【问题描述】:
我想知道是否有人可以建议如何删除尖括号或引号之外的文本。例如,下面我想删除所有不在尖括号内的句子。
<Let's get two bottles,> I said. The bottles came. I poured a little in my glass, then a glass for Brett, then filled my glass. We touched glasses.
<Want to go for a ride?> I said. <Want to ride through the town?>
我知道如何删除尖括号内的文字,但不知道如何删除。对于这个任务,我使用:
sed 's/<[^<]*>//g'我不知道我想做的事情是否可以建立在这个功能上。
【问题讨论】:
-
欢迎来到 Stack Overflow。请尽快阅读About 页面。尖括号是否总是在同一条线上(打开和关闭),或者它们可以分成几行?如果某些内容在尖括号内,则在引号外,如果在引号内,则在尖括号外-因此按面值计算(“删除尖括号外或引号外的文本”),您只需要删除所有内容。将 'or' 更改为 'and',您就重新开始工作了:您是否考虑过单引号、双引号,以及 guillemets 呢?
-
感谢您的回复,乔纳森。好吧,文本要么在尖括号之间(如上),要么在双引号之间,如下所示:“我的儿子”他用剃刀指着我“带着这张脸向西走,与国家一起成长”。因此,这实际上是一个“非此即彼”的选择。是的,句子可以分成几行。
-
分割线——啊! (我不太愿意讨论英语中否定连词的细节。)