我想使用sed或类似的东西在文本文件中读取,并将大写短语的所有实例更改为用\ textsc {* *}包装的小写。如何改变这种情况下的情况?
如:
THIS SENTENCE IS ALL CAPS except not really
应该成为
\textsc{this sentence is all caps} except not really
如果
This Sentence Has Many Caps
应该保持
This Sentence Has Many Caps
与此模式s/\(.[A-Z]*\)/textsc{\L\1}/
,字符串只是改变第一个字。
任何人都可以指给我一个正确的方法吗?
更新:正则表达式模式应该涵盖撇号以及
I'll BUY YOU A DRINK
大部分的解决方案打破信我和“这样\textsc{i}'ll \textsc{buy you a} \textsc{drink}
对于第一个脚本来说看起来很不错,但是它在“这个句子有很多上限”的情况下失败了,输出是'“\ textsc {这个句子h}如同许多上限' –
Upda我的答案是处理这个案件。将\ b添加到正则表达式中 –