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是首字母大写的
今天一同学,想用java里面main的参数,而在这个参数里面又有换行符,比如输入app "Hello\nWorld"输出:HelloWorld目标:想要的结果是,输出换行符(就是要换行),而事与愿违,输出竟然是源字符串"Hello\nWorld" 结果:先给出最终的做法,是这样public class app { public static void
private String convertMySqlString(String queryKey) {
String[] encodeArr = { "_", "%" };
String rst = queryKey;
for (St...
后台做个处理:(利用org.apache.commons.lang包里的StringEscapeUtils解码方法)
String category = StringEscapeUtils.unescapeHtml(request.getParameter("category"));
//必须从request里拿参数,不能在方法上用参数名称接收,否则无法成功转义
java中"“负责转义,\的出现会将紧挨着的后面的字符转义。
\t表示"制表符tab”,\n表示换行符。
如果想控制台输出一个字符’,System.out.print(’’’),会报错,所以需要给字符’转义则System.out.println(’\’’);想在控制台输出普通的反斜杠\则需要\\,对\转义。
如果想控制台输出"test",System.out.println("“test”");会报错,所以需要System.out.println("\“test\”");使用\对"转义。编译器都是
在不同的系统中,路径的分隔符不同,故需要做出判断,并切换分隔符
VBS代码中确实不用转义,但是在JAVA或JS中,它采用的是C语言的语法,所以要转义,引号内要双写\\表示一个反\。
① java把字符串中的反斜杠(\)替换成(\\)
replaceAll里面用的是正则表达式,所以字符串转义一次,正则转义一次,所以一个斜扛要写4个,用replaceAll(...
public class HttpServletRequestUtil {
//转换请求参数
public static int getInt(HttpServletRequest request, String name) {
try {
return Integer.decode(request.getParameter(name));
} ...