请问,如何用\\ 替换\ ? 好像是这样子,试试看吧 ^_^String s = "D:\test.bat";s.replaceAll( "\\", "\\\\" ); 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 public String replace(String srcStr, String oldStr, String newStr) { int i = srcStr.indexOf(oldStr); StringBuffer sb = new StringBuffer(); if (i == -1) return srcStr; sb.append(srcStr.substring(0, i) + newStr); if (i + oldStr.length() < srcStr.length()) sb.append(replace(srcStr.substring(i + oldStr.length(), srcStr.length()), oldStr, newStr)); return sb.toString(); } 调用:replace(字符串, "\\", "/"); danceflash(Wine) 的是正确的“/”只能用在非unix系统。 调用:replace(字符串, "\\", "/"); s.replaceAll( "\\", "\\\\" ); 都行!其实把D:\\test.bat--->D:/test.bat 也是可以的,他们的效果是一样的,不信你试! for(int i=0;i<mystring.length();i++){ if(mystring.charAt(i)=='\\'){ mystring.insert(i,"\\\\"); mystring.deleteCharAt(i); i++; } }自己写的算法!多执教先!! 对各位的指点,深表感谢,程序已基本可以调通,不过尚有一些疑惑。我写的程序:class replace{ public static void main(String args[]){ String s = "d:\test.bat"; try{s = s.replaceAll("\\","\\\\");} catch (Exception e) {System.out.println(e);} System.out.println(s); }}输出为“d: est.bat” 为何会这样?当然,若s = "d:\\\\test.bat",输出为"d:\\test.bat",可如果只能是d:\test.bat呢hxzhappy和 tomcatjava写的算法思路都不错,只是俺依然不能达到初衷:直接操作\。 String s = "D:\test.bat";s.replaceAll( "\\", "\\"+"\\"); 改成这样:s.replaceAll("\\\\","\\\\\\\\"); 主要问题是\和t组成了转义字符\t,所以没达到效果。改成这样:s.replaceAll("\t", "\\t"); 楼上说的极是,\t是转义字符。 故而,随意写出的String s = "D:\test.bat";居然顺利通过编译,如当初用west,可能当场就一命归西了。 所以, 纵"\\", "\\\\","\\\\\\\\"和其他算法之巧妙,均因在下不慎而徒劳,怪只怪public String replaceAll(String regex,String replacement) 倘若没有正则表达式,偶的\和\\其实根本不算什么。 可惜,java引入了REs,于是,俺的设想只好成了幻想,至少目前。 不过,D:\\test.bat--->D:/test.bat ,效果是一样的,比如下面的程序:class test{ public static void main(String[] args) { String command = "c:/winnt/winhelp.exe"; Runtime rt = Runtime.getRuntime(); try{ rt.exec(command); }catch(Exception e) { System.out.println("error"); } }} 可是,这样做,必须提醒用户输入c:/winnt/winhelp.exe之类的不规范格式,实在是美中不足。 不知道还有没有更好的方法。 请赐教。 大家不知道有没有碰到过,由编译器自动生成的A.class 你用java A不能执行,非得用java a (按理说这里区分大小写的) 弱弱的问题:linux下读取目录信息以及读写文本文件!!! 请问JDK在哪个目录下? 求助!!!如何用Swing组件来实现这样一个命令行模式中的功能啊?(有代码) net高手请进! 求用JMF使用USB接口摄像头抓图像的java程序和相关资料(急) 判断文本区域 TextArea 的文本是不是为空? 请教一个程序题。 有什么java程序可以根据一个xml生成java代码 关于jwsdk 新手问题:JDK和SDK的区别? java与mqsql这样连,错在哪
int i = srcStr.indexOf(oldStr);
StringBuffer sb = new StringBuffer();
if (i == -1)
return srcStr;
sb.append(srcStr.substring(0, i) + newStr);
if (i + oldStr.length() < srcStr.length())
sb.append(replace(srcStr.substring(i + oldStr.length(), srcStr.length()),
oldStr, newStr));
return sb.toString();
} 调用:replace(字符串, "\\", "/");
其实把D:\\test.bat--->D:/test.bat 也是可以的,他们的效果是一样的,不信你试!
if(mystring.charAt(i)=='\\'){
mystring.insert(i,"\\\\");
mystring.deleteCharAt(i);
i++;
}
}
自己写的算法!多执教先!!
我写的程序:
class replace{
public static void main(String args[]){
String s = "d:\test.bat";
try{s = s.replaceAll("\\","\\\\");}
catch (Exception e)
{System.out.println(e);}
System.out.println(s);
}
}
输出为“d: est.bat” 为何会这样?
当然,若s = "d:\\\\test.bat",输出为"d:\\test.bat",可如果只能是d:\test.bat呢
hxzhappy和 tomcatjava写的算法思路都不错,只是俺依然不能达到初衷:直接操作\。
s.replaceAll("\\\\","\\\\\\\\");
改成这样:s.replaceAll("\t", "\\t");
故而,随意写出的String s = "D:\test.bat";居然顺利通过编译,如当初用west,可能当场就一命归西了。
所以, 纵"\\", "\\\\","\\\\\\\\"和其他算法之巧妙,均因在下不慎而徒劳,怪只怪public String replaceAll(String regex,String replacement)
倘若没有正则表达式,偶的\和\\其实根本不算什么。
可惜,java引入了REs,于是,俺的设想只好成了幻想,至少目前。
不过,D:\\test.bat--->D:/test.bat ,效果是一样的,比如下面的程序:
class test
{
public static void main(String[] args)
{
String command = "c:/winnt/winhelp.exe";
Runtime rt = Runtime.getRuntime();
try{
rt.exec(command);
}catch(Exception e)
{
System.out.println("error");
}
}
}
可是,这样做,必须提醒用户输入c:/winnt/winhelp.exe之类的不规范格式,实在是美中不足。
不知道还有没有更好的方法。
请赐教。