我很努力使这个工作。Java:从一个字符串值中替换多个字符串模式
我有一个正则表达式为:".*(${.*}).*"
和一个字符串变量myVar = "name = '${userName}'/pass = '${password}'"
我有一个存储的值,在这种情况下,“$ {用户名}”将有“张三的值是一个HashMap “和”$ {密码}“将具有”secretpwd“的值。
如何循环myVar中的所有找到的匹配(在本例中为“userName”和“password”)? 然后,我可以循环找到的每个匹配,并从hashmap请求它们相应的值。
谢谢!
我只是试过,但它无休止地循环,任何想法为什么? – scal
也许你的散列值包含一个看起来像'$ {...}'的值?我不能不知道你的输入和你的散列内容。你可以包含一个调试输出或者在最后一行放置一个断点,并且每次查找'variable'和'rep'。 – Howard
循环不断返回相同的正则表达式匹配(userName),它不循环每次匹配。所以如果我有''用户名='$ {userName}'和密码= ='$ {密码}'“'它循环和输出(调试):'变量= $ {用户名} 代表= John Doe'所以它是正确的但只是保持循环和输出,并从来没有$ {密码}一个 – scal