如text.replaceAll(filename, newPicName); 出錯
filename 中含有正則表達式的特殊字符,正則表達式引擎將其解釋爲語法錯誤,改成:
text.replace(filename, newPicName);
這樣就行了,按照普通字符來工作。
replaceAll 方法的第一個參數是一個正則表達式。
replace 方法雖然採用採用正則表達式工具工作的,但在其內部已經進行了字面模式處理,
所有的字符都視爲普通字符處理。
不要被 replaceAll 中的 All 欺騙了,這兩種方法都替換所有的字符串,只是採用的形式
不同已。
注:把“/”換成“/”應該這樣寫:text.replace('//','/')而不是text.replace('/','/')
例如你過濾一些特殊的字符串 用正則
“/”"*"
都不行
只能這樣
private static String filterSpecialChar(String str)
{
String[] specialChar={"'","="," ","//","/","*"};
String s;
s=str;
for(int i=0;i<specialChar.length;i++)
{
s=(s.indexOf(specialChar[i])==-1)?s:s.replace(specialChar[i],"");
}
return(s);
}