【问题标题】:Replace all occurrences of String in file (Java) [duplicate]替换文件中所有出现的字符串(Java)[重复]
【发布时间】:2012-05-13 21:05:40
【问题描述】:

可能重复:
Replace all occurrences of substring in a string - which is more efficient in Java?

我正在尝试将文件中所有出现的 \t(制表符)替换为 四个空格。 我已经搜索了一段时间,但找不到任何有用的东西。

我发现我需要创建一个临时文件。

【问题讨论】:

  • 您是指以编程方式还是使用文本编辑器?
  • 用 Java 编程。我可能应该在标题中说明这一点..
  • @ant 不,OP 想要整个 shebang -- 创建临时文件、打开文件、读取、写入、关闭、删除旧文件、将临时文件重命名为真实名称。

标签: java string file io replace


【解决方案1】:

有一个函数叫做replace

String output = input.replace("\t","    ");

使用文件创建一个temp file 并为其打开一个FileWriter

为原始文件打开FileReader

循环调用readln(),检查相应对象上的空值、replace("\t"," ")write

然后关闭读写器和delete()原文件和rename()临时文件到原文件

【讨论】:

  • 我猜你的意思是 replaceAll("\t","");
  • @Shine 没有。 replaceAll 使用正则表达式作为输入,而replace 使用CharSequence。这里不需要正则表达式。
  • @Guillaume 是的,你是对的,我很抱歉。
【解决方案2】:

你可以使用replaceAll这样的方法

String str = "your string";
String a = "    "; // [4 spaces]
String result = str.replaceAll("\t", a);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-05
    • 2014-12-23
    • 1970-01-01
    • 2012-11-23
    • 2023-03-15
    • 2017-03-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多