我想了一下,你要批量转义还是可能的,就是有点麻烦,你可以把所有的转义字符和原字符一一对应存储在一个map里面,然后把字符串挨个读取与map里面进行对比,如果比对成功就把他换成转义字符
------
像你这种量很大的批量转意有什么意思呢?除了你想要的那一小段之外其他内容对于你来说都没有意义,而且如果量很大的话你也不可能弄一个String来存储数据,一般都是从某一个输入源来读取数据的
上面的代码我改了一下,现在已经没有bug了,你自己想一下吧,如果你一定要用转义字符那我也就爱莫能助了
-----
import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class Test {
public static void main(String[] args) {
BufferedReader br = null;
String s = null;
String s1 = null;
int index1 = 0;
int index2 = 0;
int temp=0;
try {
br = new BufferedReader(new FileReader("E:\\temp\\test.txt"));
while ((s = br.readLine()) != null) {
index1 = s.indexOf("vwriter=");
index2 = s.indexOf("\"", index1);
temp=s.indexOf("vwriter=", index2);
if (index1 != index2) {
s1 = s.substring(index1+8, index2);
System.out.println(s1);
}
while(temp!=0&&temp!=-1&&temp!=index1){
index2 = s.indexOf("\"", temp);
s1 = s.substring(temp+8, index2);
System.out.println(s1);
temp=s.indexOf("vwriter=", index2);
}
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}