繁体   English   中英

Java替换字符串中的Unicode字符

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM