我正在編寫一個程序,允許用戶輸入變量名稱,然後可以在其他字符串中使用它們。例如,如果用戶輸入:對鍵「令牌」和值「aslkdjfna98y」創建
$token aslkdjfna98y
的映射。然後我想通過指定它應該使用的語法被換出在URL中添加此令牌變量:
http://www.example.com/getThing?token=$^{token}
所以在這裏,我想換$^{token}
我的映射值aslkdjfna98y。
我曾嘗試過各種String.replace
和String.replaceAll
電話,但我目前陷在一個循環 - 在那裏它被稱爲該字符串包含文本$^{}令牌,但我不能代替文字。這裏就是我奮力:
if (request.contains("$^{"))
{
//handle variables
for (String s : variables.keySet())
{
String str = String.format(Locale.US, "$^{%s}", s);
while(request.contains(str))
{
//Stuck Here
request = request.replace(String.format(Locale.US, "$^{%s}", s), variables.get(s));
}
}
}
這可能非常被簡化到:
request.replaceAll(regex, str);
我該如何正確替換字符,或者我怎麼能改善這種使用replaceAll
?
爲什麼所有降價?如果至少有人解釋,我將不勝感激...... – Phil
幾乎可以肯定,因爲你基本上已經說過「我不能爲這個自己讀過這些東西而煩惱......」 –