為什麼這篇PowerShell 字串 取代鄉民發文收入到精華區:因為在PowerShell 字串 取代這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者hunandy14 (かえで)看板RegExp標題[問題] 取代引號中的特定字串時間Wed Oc...
/* 聽說註明使用的語言、環境
* 問題有可能較容易被解決...
*/
環境是用 POWERSHELL 跑
文本是整份檔案,這邊擷取一部分作範例
文檔.js
if ( a || b) {
var SQL = "select abc || abc";
}
目的是把整份檔案的 || 改成 + 但是直接修的話連 IF 的判斷也會動到
所以需要判斷只修引號內的字串
想要的結果
if ( a || b) {
var SQL = "select abc || abc";
}
目前查到的只能把引號內容抓出來,不知道怎麼進一步塞選出字串||
$ct -replace '(?<=").*?(?=")', '+'
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 126.216.106.98 (日本)
※ 文章網址: https://www.ptt.cc/bbs/RegExp/M.1633481805.A.1FB.html
※ 編輯: hunandy14 (126.216.106.98 日本), 10/06/2021 09:56:23
但是我不能確保只有if這個規則是錯的,這只是一個舉例還有其他情況是
substr( -> substring(
這時候要分辨的是如果是javascript中的 "變數.substr(" 就不能修
在人工修的情況下,我能確保不出錯的規則是在vscode裡面綠色的字體
一定是我要修改的目標,綠色的字體是被 "" 包住後整串變綠的
目前有bug勉強能用的代碼長這樣,BUG點在沒辦法判斷"是開頭還是結尾
if (a=="" || b=="") 中間的也會被替換
https://gist.github.com/hunandy14/f10d73d3ddaa2b0cb7daf863a06ff943
※ 編輯: hunandy14 (126.216.106.98 日本), 10/20/2021 16:40:23