如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);
}