我很努力使這個工作。Java:從一個字符串值中替換多個字符串模式
我有一個正則表達式爲:".*(${.*}).*"
和一個字符串變量myVar = "name = '${userName}'/pass = '${password}'"
我有一個存儲的值,在這種情況下,「$ {用戶名}」將有「張三的值是一個HashMap 「和」$ {密碼}「將具有」secretpwd「的值。
如何循環myVar中的所有找到的匹配(在本例中爲「userName」和「password」)? 然後,我可以循環找到的每個匹配,並從hashmap請求它們相應的值。
謝謝!
我只是試過,但它無休止地循環,任何想法爲什麼? – scal
也許你的散列值包含一個看起來像'$ {...}'的值?我不能不知道你的輸入和你的散列內容。你可以包含一個調試輸出或者在最後一行放置一個斷點,並且每次查找'variable'和'rep'。 – Howard
循環不斷返回相同的正則表達式匹配(userName),它不循環每次匹配。所以如果我有''用戶名='$ {userName}'和密碼= ='$ {密碼}'「'它循環和輸出(調試):'變量= $ {用戶名} 代表= John Doe'所以它是正確的但只是保持循環和輸出,並從來沒有$ {密碼}一個 – scal