[英]Java Replace unicode chars in string
我有一个读取文件的程序。 在此文件中,有一些我从未见过的疯狂字符。 该文件的目的是将某些信息解析为SQL语句。
当我在文件“阅读……的详细信息……(标题名称”)(注意水平椭圆和右/左引号)中到达此行时,它输出为:
的细节(标题名称。
我只想用我定义的字符替换正确的字符。 我努力了:
st = st.replaceAll("…","...");
st = st.replaceAll("\u2026","...");
这就是我读取文件的方式:
FileInputStream file = new FileInputStream(filePath);
DataInputStream in = new DataInputStream(file);
BufferedReader br = new BufferedReader(new InputStreamReader(in));
还有我什至不记得的其他事情。 我该如何执行看似简单的任务?
在替换特殊字符之前,您需要在读取文件时指定编码。
FileInputStream inputStream = new FileInputStream("input.txt");
// Specify the enconding
InputStreamReader streamReader = new InputStreamReader(inputStream, "UTF-8");
BufferedReader in = new BufferedReader(streamReader);
除非绝对必要,否则您不必真的丢弃那些奇怪(但仍然有意义)的字符...
查看InputStreamReader的文档,并在读取文件时指定正确的编码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.