黑马程序员技术交流社区
标题:
字符串中转义字符处理问题
[打印本页]
作者:
朱皓
时间:
2012-2-19 22:07
标题:
字符串中转义字符处理问题
我们在平时定义字符串的时候是这样的
String str="boke";
有时我们也需要路径的字符串例如:
String str="D:\朱皓\张孝祥高级技术";
但是这样的字符串是不行的,因为 \ 代表了转义,所以我们因该这样来表示
String str="D:\\朱皓\\张孝祥高级技术";
用两个 \\ 来表示一个 \
但是问题又来了,如果路径很长,又或者字符串中有很多的 \ ,难道我们要每一个去改成 \\ 吗?
据我所知在C#中中就提供了一种很好的表示形式,例如:
String str=@"D:\朱皓\张孝祥高级技术";
字符串前面的@符号表示后面的字符串是一个完整的字符串其中没有转义符号,那么我们就不需要用\\来表示\
我不知道在JAVA中有没有这样的表示方法。如果没有自己可不可以用写代码的方式实现这种机制。
求广大网友给予解答
作者:
王睿
时间:
2012-2-20 18:17
java中应该是没有这种机制吧!帮你顶
作者:
唐溪永
时间:
2012-2-20 21:00
java里面有很多规范是不能改了,这是为了平台的可移植性强而规定的,虽然楼主提出的建议很好,但是java毕竟不是c#,在转义字符中,java的规范就是加\,没有其他方法,楼主既然要学java,就不要钻牛角尖了,好好记住规范吧
作者:
李晓俊老师
时间:
2012-2-20 23:47
个人觉得跟系统属性有关,,,我们如果用System的getProperties方法,可以获取系统的目录视为默认seperator,就是分隔符,,windows系统的默认目录分隔符就是\,,正好和转义字符\一样,,所以在遇到分隔符的时候都要转,,,,可能在其他系统下就不需要这样蛋疼的操作了吧
作者:
【专】【属】
时间:
2012-2-21 08:50
对于路径中\在File类中定义一个常量用于表示了。是Fille.separator
作者:
王康
时间:
2012-2-21 10:19
在C#中可以如下表示:
String str=@"D:\朱皓\张孝祥高级技术";
在java中只能如下表示:
String str="D:\\朱皓\\张孝祥高级技术";
因为一个是java,一个是C#.不同的语言,自然有不同的规范.
作者:
朱皓
时间:
2012-2-21 15:35
我觉得不管是JAVA还是C#,只要是好的方法和机制,我都可以借鉴
作者:
tanlei200620
时间:
2012-2-21 17:28
这个嘛,问题很棒啊,受教了
不过如果是传入的参数就好了 , 比如 运行时传入一个路径参数 。
可以 这样的:
String str = args[0].replaceAll("\\\\","\\\\\\\\");
这样 字符串 str 都达到了你的要求了,
作者:
花开~的季节
时间:
2012-2-21 17:38
这个没有这个机制
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2