3 回答

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
假設(shè)您正在使用 VS 代碼作為 IDE 并且正在尋找編輯源代碼(而不是任意文本文件),那么在 VS 代碼中您可以做的最好的事情可能是使用帶有正則表達(dá)式的查找替換(確保您選擇“使用正則表達(dá)式” ,alt+R默認(rèn)情況下):
搜索word\[(\d+):(\d+)\]并替換為word[$1/2:$2/2],結(jié)果將是
test1 = word[0/2:4/2]
test2 = word[4/2:16/2]
test3 = word[16/2:32/2]
test4 = word[32/2:1024/2]
test5 = word[1024/2:1086/2]
test6 = word[1086/2:1900/2]
test7 = word[1900/2:2000/2]
test8 = word[2000/2:3000/2]
這將在運(yùn)行時(shí)評(píng)估您需要的輸出。

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊
您可以在替換過程中用表達(dá)式的實(shí)際值替換數(shù)字,擴(kuò)展名為Regex Text Generator?v0.8.0
您首先選擇與 DeepSpace 使用的相同正則表達(dá)式匹配的所有文本部分,然后使用相同的正則表達(dá)式提取每個(gè)選擇的捕獲組,并將它們用作生成文本并可以執(zhí)行計(jì)算的不同正則表達(dá)式中的數(shù)值。
將使用過的正則表達(dá)式作為注釋文本放入文件中會(huì)很方便。您可以復(fù)制部分文件并將其粘貼到擴(kuò)展的 InputBoxes 中。
#?orig?regex:?word\[(\d+):(\d+)\] #?generate?regex:?word\[{{=N[1]/2}}:{{=N[2]/2}}\]
word\[(\d+):(\d+)\]
在“查找”對(duì)話框中粘貼第一個(gè)正則表達(dá)式并勾選正則表達(dá)式按鈕 (?.*
)。如果在打開“查找”對(duì)話框時(shí)仍選擇正則表達(dá)式,它將轉(zhuǎn)義很多字符,只需粘貼正確的版本在文檔中單擊,使焦點(diǎn)不再位于“查找”對(duì)話框中
選擇與查找正則表達(dá)式匹配的所有字符串:Ctrl+?Shift+L
啟動(dòng)命令:
Generate text based on Regular Expression (regex)
用Ctrl++ShiftP將仍在剪貼板中的第一個(gè)正則表達(dá)式粘貼到
Match Original Text Regular Expression
輸入框中,然后按Enter選擇生成正則表達(dá)式并將其復(fù)制粘貼到下一個(gè)輸入框
Generator Regular Expression
替換結(jié)果顯示在編輯器中,您可以接受Enter或拒絕Esc
測(cè)試文件的結(jié)果將是:
test1 = word[0:2]
test2 = word[2:8]
test3 = word[8:16]
test4 = word[16:512]
test5 = word[512:543]
test6 = word[543:950]
test7 = word[950:1000]
test8 = word[1000:1500]
如果您需要定期執(zhí)行此操作,您可以定義一個(gè)鍵盤快捷鍵,將使用的正則表達(dá)式輸入輸入框,并允許您在需要時(shí)修改它們。
? {
? ? "key": "ctrl+f10",
? ? "when": "editorTextFocus",
? ? "command": "regexTextGen.generateText",
? ? "args": {
? ? ? "originalTextRegex" : "word\\[(\\d+):(\\d+)\\]",
? ? ? "generatorRegex" : "word\\[{{=N[1]/2}}:{{=N[2]/2}}\\]",
? ? ? "useInputBox" : true
? ? }
? }
現(xiàn)在使用鍵盤快捷鍵完成了步驟 4 .. 7。

TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超4個(gè)贊
查找:
word\[(\d+):(\d+)\]
替換:word[$1/2:$2/2]
來自@DeepSpace查找:
\d+/\d+
查找所有num/num2
[不替換]Ctrl+ Shift+分別L選擇所有的
num/num2
Emmet: Evaluate Math Expression
從命令面板運(yùn)行(或?qū)⑵浣壎ǖ芥I綁定)
Emmet 可以做這種數(shù)學(xué)運(yùn)算。
添加回答
舉報(bào)