使用notepad++刪除webrtc中的所有相關的vcxproj文件中有關ninja屬性字段的定義

    由於我下載的webrtc生成的工程師ninja-vs類型的工程,導致能夠使用vs2015編輯器來編輯webrtc代碼,但是工程的編輯器默認使用的是ninja而不是vs2015,這也就導致我這個屬性vs2015而對ninja一竅不通的真的蛋疼,使用vs的方式編寫的代碼經常因爲無法被識別而導致ninja的編譯錯誤,於是下定決心要將自己的webrtc代碼前部修改爲vs工程,也就是說使用vs2015來編譯!

    首先,的下載notepad++,本次的修改vcxproj的修改數量有幾百個,因此一個一個手動去修改那真是不科學,即使那樣做能夠達到目的但是我是很不屑與那樣做的。這個時候就需要使用到正則表達式了,在notepad++中使用正確的 正則表達式就可以操作你想要的文字的內容。而本次刪除所有相關vcxproj 中的ninja屬性的相關行,我是先將擁有ninja屬性的那行文本全部刪除,對應的正則表達式爲“^.*ninja.*$”,(正則表達式是雙引號中間的字符串,之後的類似)在notepad++中使用查找指令,然後選擇替換操作,就能將包含有ninja屬性的所在行刪除掉了,但是改行只是爲空白而已,如果你不想留下這些空白行,那麼值使用正則表達式“^(\s*)\r\n”,替換編輯框中留空,然後選擇file replace all ,你再重新打開那些目標文件,可以發現,那些空白行都消失了。

-------------------------------------------------------------------------------------------

    正則表達式標識空行在不同的操作系統下會有些不同,根據文檔格式(windows, mac, linux行尾符)不同 將其中的\r\n替換成不同行尾符

windows: ^(\s*)\r\n

linux: ^(\s*)\n

mac: ^(\s*)\r (沒用過mac,待確認)

-----------------------------------------------------------------
    現在爲了比較容易刪除類似xml閉合標籤及其之間的內容,正則表達式類似如下"<([(Target Name="Clean")(Target Name="Clean")].*)>(\r\n\s).*</Target>",  此正則表達式將會從目標文件中刪除類似於這種類型的標籤:
<Target Name="Build">
</Target>
<Target Name="Clean">
</Target>
發現效果還不錯,其實我這個表達式可能寫得複雜了,但是高手們可以精簡。



發佈了47 篇原創文章 · 獲贊 17 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章