我有以下代碼:的replaceAll,正則表達式和HashMap還給我一個NullPointerException
HashMap<String, String> hm = new HashMap<String, String>();
hm.put("title", "testTitle");
hm.put("year", "testYear");
String s = "<title> - <year>";
String result = s.replaceAll("<([^>]*)>", hm.get("$1"));
問題是,當我執行它,它返回我此異常:在線程
異常「主「java.lang.NullPointerException at java.util.regex.Matcher.appendReplacement(Unknown Source)at java.util.regex.Matcher.replaceAll(Unknown Source)at java.lang.String.replaceAll(Unknown Source)
我不明白爲什麼,因爲當單獨執行時,hm.get(「title」)確實有效,那麼爲什麼用replaceAll它不是?
在此先感謝。
謝謝您的回答,這似乎是做到這一點的最好辦法! – evuez 2011-12-14 18:15:04