我通过JavaScript代码生成Java个网页,例如:
FileOutputStream fs=new FileOutputStream("C:\\Documents and Settings\\prajakta\\Desktop\\searcheng.html");
OutputStreamWriter out=new OutputStreamWriter(fs);
out.write("<script language='JavaScript' type='text/javascript'>");
out.write("var str=new String('C:\\Documents and Settings\\prajakta\\Desktop\\substr.html');");
out.write("var beg=str.lastIndexOf('\\');");//double' \' **Problem Stmt**
等等。
问题是当创建searcheng.html时它包含
var beg=str.lastIndexOf('\');//single '/'
在查找'\'的索引时会产生问题。 我该怎么写这个问题,以便它包含双“\”?
同样我应该怎么写一个声明
out.write("document.write('< a href='str'> '+str.slice(beg+1,end)+' </a>');");
这样它就可以在JavaScript中创建语句
document.write('< a href=" 'str' "> '+str.slice(beg+1,end)+' </a>');
,该链接将转到其地址存储在str
?
答案 0 :(得分:1)
out.write("var beg=str.lastIndexOf('\\\\');");
应该做的伎俩。 Java for Double,JavaScript再加倍......
答案 1 :(得分:1)
在Java字符串文字中,反斜杠字符作为转义字符具有特殊含义。如果你想表示反斜杠字符本身,你需要自己转义它。
这就是为什么Java String文字"\\"
表示一个带有一个字母的字符串,该字母是反斜杠。
如果你想用两个反斜杠表示一个字符串,你需要在你的文字中转义:"\\\\"
。
答案 2 :(得分:0)
试试这个:
out.write("var beg=str.lastIndexOf('\\\\\\');");
关键是'\'是Java中的转义字符,所以要有1,你必须写2.要得2,你必须写4。