Java字符替换

时间:2013-12-05 18:20:15

标签: java replace

我有在java中替换“...”的问题。这让我发疯了。

似乎java无法通过replace方法识别“...”。我该怎么办?

我试过

    line = line.replace("…", "");

但它不起作用。

3 个答案:

答案 0 :(得分:0)

尝试重定向:Eclipse character encoding

这并不是完全相关的,但它是eclipse中的一个设置,你应该检查它。

答案 1 :(得分:0)

您可能遇到Unicode翻译问题。尝试使用“\ u2026”而不是文字省略号:http://www.fileformat.info/info/unicode/char/2026/index.htmCreating 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。