我有在java中替换“...”的问题。这让我发疯了。
似乎java无法通过replace方法识别“...”。我该怎么办?
我试过
line = line.replace("…", "");
但它不起作用。
答案 0 :(得分:0)
尝试重定向:Eclipse character encoding
这并不是完全相关的,但它是eclipse中的一个设置,你应该检查它。
答案 1 :(得分:0)
您可能遇到Unicode翻译问题。尝试使用“\ u2026”而不是文字省略号:http://www.fileformat.info/info/unicode/char/2026/index.htm和Creating Unicode character from its number。您无法始终控制在ASCII集之外的源代码中解释unicode字符的方式。对这些角色使用转义符通常是个好主意。
答案 2 :(得分:0)
String.replaced旧的javas中只有char,但现在也可以替换字符串(字面上没有正则表达式模式)。
您可能遇到的问题是编码错误。编辑器中.java源代码与编译器编码的编码。如果您粘贴了省略号,也可能出现问题。
因此使用转义的ASCII表示。您可以在系统附件字符映射中找到代码:
line = line.replace("\u2026", "");
此外,必须使用正确的编码读取该行。不要使用FileReader,而是使用另一个可以明确添加编码的类。
BufferedReader in = new BufferedReader(new InputStreamReader(
new FileInputStream(file), "UTF-8"));
而不是编码UTF-8,它可能是一些与平台相关的代码,如Cp1252。