在Vim的正則表達式替換中使用字母大小寫轉換

      如何在Vim的正則表達式替換中使用字母大小寫轉換?

      比如有下面這段文字:

      every day

      想將兩個單詞都轉變爲全大寫,可以類似下面的vim最下行命令:

:s/\(.*\) \(.*\)/\U\1 \2/

      轉變結果爲:

      EVERY DAY

     

      相關的轉義序列還有'\u','\L','\l'。

      '\u'表示只將首字母大寫;而'\L','\l'的含義是與'\U','\u'相反的。


      下面的blog中包含了與上面相似的內容:

      Vim中的正則表達式

      不過要注意,此blog中在實驗時是使用了模式分組來做的。上面的四個轉義序列將在其被顯式停止前,對跟在其後的內容持續作用;如果要停止,需要使用'\e'來中斷。

       比如想將上面的文字轉變爲:

      EVERY day

      則需要使用類似下面的方式:

:s/\(.*\) \(.*\)/\U\1\e \2/
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章