我在写代码的时候遇到一个问题 关于转义的
就是用到split(".");
发现会无效果
原因就是
. 需要转义 split("\.")
//创建mpa集合 保存文本数据 键为序号 值为文字
HashMap<String, String> map = new HashMap<>();
//创建流对象
BufferedReader br = new BufferedReader(new FileReader("read.txt"));
BufferedWriter bw = new BufferedWriter(new FileWriter("read1.txt"));
//读取数据
String line=null;
while((line=br.readLine())!=null){
//解析文本
String[] split=line.split("\\.");
//保存到集合
map.put(split[0],split[1]);
}
//释放资源
br.close();
//遍历map集合
for (int i = 1; i <=map.size(); i++) {
String key=String.valueOf(i);
//获取map中文本
String value=map.get(key);
//写出拼接文本
bw.write(key+"."+value);
//写出换行
bw.newLine();
}
bw.close();
现给大家发一些比较常用的需要转义的字符
\ 反斜杠
\t 间隔 (’\u0009’)
\n 换行 (’\u000A’)
\r 回车 (’\u000D’)
\d 数字 等价于 [0-9]
\D 非数字 等价于 [^0-9]
\s 空白符号 [\t\n\x0B\f\r]
\S 非空白符号 [^\t\n\x0B\f\r]
\w 单独字符 [a-zA-Z_0-9]
\W 非单独字符 [^a-zA-Z_0-9]
\f 换页符
\e Escape
\b 一个单词的边界
\B 一个非单词的边界
\G 前一个匹配的结束