我想使用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添加到正則表達式中 –