java中把参数列表中原字符串转换成转义的字符串

今天一同学,想用java里面main

的参数,而在这个参数里面又有换行符,比如输入

app "Hello\nWorld"
输出:
Hello
World

目标:想要的结果是,输出换行符(就是要换行),而事与愿违,输出竟然是源字符串"Hello\nWorld"

 

结果:先给出最终的做法,是这样

public class app {
    public static void main(String[] args) {
        String output = args[0].toString().replace("\\n", "\n");
        System.out.print(output);
    }
}

 

调试:理应将参数args[0]理解成Hello加一个换行符然后再加上World。结果运行出来显示的是源字符串"Hello\nWorld"。通过Eclipse调试,看到参数args[0]value索引5的那个字符竟然是"\\",这就是\的字符串转义表示。通过下面的变量视图,我们知道,args参数里面的转义符号"\"已经被自动转换成"\\"了。为了使\n组合成换行符,我们把args[0]\\\替换掉,就可以解决问题了。 

 

扩展:把路径中的一个\转换成两个\\(为了表示Windows

中的路径),我们可以这样做:

String strPath = getSomePath();
strPath.replace("\\", "\\\\");
...

 

结束语:replace是一个很好用的字符串函数,MFC中也有类似的CString类,不过那个Replace是首字母大写的



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值