如何用動態中的「hr」和$ table_name替換爲「hr」和$ constraint_name替換爲「scma_constraint」。 變化如何用一個字符串替換特殊字符及其下一個字符串
"alter table $owner.$table_name ENABLE constraint $constraint_name;"
到
"alter table hr.hr ENABLE constraint scma_constraint;"
如何用動態中的「hr」和$ table_name替換爲「hr」和$ constraint_name替換爲「scma_constraint」。 變化如何用一個字符串替換特殊字符及其下一個字符串
"alter table $owner.$table_name ENABLE constraint $constraint_name;"
到
"alter table hr.hr ENABLE constraint scma_constraint;"
String.replace()
String myString = "...";
myString = myStrign
.replace("$owner", "hr")
.replace("$table_name", "hr")
.replace("$constraint_name", "blah");
不知道,你想要什麼,但:
String str = "alter table $owner.$table_name ENABLE constraint $constraint_name;"
str = str.replace("$owner", "hr")
.replace("$table_name", "hr")
.replace("$constraint_name", "scma_constraint");
的Javadoc可用here。
的替換()方法返回從替換此字符串中通過用newChar oldChar的所有出現而產生的新的字符串(不支持的regexp的)
的的replaceAll()方法相同,但與載體的正則表達式。
如果需要,請更精確地編輯您的問題。
如果您要更換所有的比賽,然後使用replaceAll()
方法,你需要逃避特殊字符,如美元,因爲replaceAll()
得到一個正則表達式作爲第一個參數,如果你寫"$owner"
這將意味着你的字符串必須以"owner"
開始。
myString.replaceAll("\\$owner", "hr")
.replaceAll("\\$table_name", "hr")
.replaceAll("\\$constraint_name", "scma_constraint");
String上的replaceAll方法應該可以做到。第一家店都在地圖的鍵值對,然後做一些事情如下:
for each entry in the map
myString.replaceAll(entry.key, entry.value)
應straigtforward來實現。
使用String.replace()方法。 – adatapost
可能重複 - [替換字符串中的$符號](http://stackoverflow.com/q/4134316/50776)? – casperOne