我正在使用node.js和表示。Node.js字符串上的異步替換
我有類似於下面的字符串:
Here is my string but now I need to processString("mystring")
and return the processString("data").
我要搜索processString的所有事件,並用函數的結果替換它。我需要運行的功能是異步的。是否有捷徑可尋?
謝謝!
我正在使用node.js和表示。Node.js字符串上的異步替換
我有類似於下面的字符串:
Here is my string but now I need to processString("mystring")
and return the processString("data").
我要搜索processString的所有事件,並用函數的結果替換它。我需要運行的功能是異步的。是否有捷徑可尋?
謝謝!
你的問題不是很清楚,在回答你的問題時,「爲什麼」和「是什麼」可能會更有幫助。據我瞭解,你想與****
更換processString("****")
在這種情況下,你可以使用以下命令:
var str = 'Here is my string but now I need to processString("mystring") and return the processString("data").'
str = str.replace(/processString\(\".*?\"\)/gi, function(match){
return match.replace("processString\(\"", "").replace("\"\)", "")
})
console.log(str);
這將匹配processString("****")
內的內容,希望這就是你要找的人!
對不起,我試圖找出如何儘可能清楚,方法的參數需要由一個函數(processString)處理,並且它查詢數據庫。由於參數來自用戶,可以是任何東西,我無法避免數據庫調用。所以,被調用的函數必須是異步的。那有意義嗎? – Christie
我想我理解這個問題,但是這個問題的答案會有幫助。有了這個理解,我可以使用非阻塞的.replace(),所以你可以通過回調傳遞你需要的任何參數,我認爲這將是迭代字符串中項目的最好方法。您還可以通過構建查詢索引(收集所有參數),執行一個查詢,然後相應地替換每個結果來避免多個查詢。 – Sdedelbrock
我還沒有任何代碼,因爲我試圖找出它的最佳工作方式。如果我使用替換,是否有辦法知道它何時完成,以便我可以調用函數的回調函數? – Christie
好吧,所以這就是我想我應該做的。讓我知道如果你認爲這是正確的方式或更好: 1.做一個正則表達式匹配processString 2. async.forEach結果 3.做一個字符串替換正則表達式與processString結果 這是否這樣做似乎是對的? – Christie