Java实现替换指定内容的第N个

/**
     * 替换内容 (String的replace方法容易正则出错,这里自己做了个下标替换)
     * @param originalString 原文
     * @param target 目标数据
     * @param replacement 替换数据
     * @param n 替换第几个
     * @return String
     */
    public String replace(String originalString,String target,String replacement,Integer n) {
        String resultStr = originalString;
        int position = -1;
        try {
            for (int i = 0; i < n; i++) {
                position = originalString.indexOf(target,position+1);
                if(position == -1){
                    return resultStr;
                }
            }
            resultStr = originalString.substring(0, position) + replacement + originalString.substring(position + target.length());
        } catch (Exception e) {
            return resultStr;
        }
        return resultStr;
    }
  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要修改TXT文件中的指定内容,可以按照以下步骤进行: 1. 使用Java的File类和BufferedReader类读取TXT文件中的内容,并将内容存储到一个ArrayList中。 2. 在ArrayList中找到要修改的行,并将其内容替换为新内容。 3. 使用Java的FileWriter类和BufferedWriter类将ArrayList中的内容写入TXT文件中。 以下是示例代码: ```java import java.io.*; import java.util.*; public class ModifyTXT { public static void main(String[] args) { try { // 读取TXT文件内容 File file = new File("test.txt"); BufferedReader reader = new BufferedReader(new FileReader(file)); ArrayList<String> lines = new ArrayList<String>(); String line = null; while ((line = reader.readLine()) != null) { lines.add(line); } reader.close(); // 修改指定内容 int lineNumber = 3; // 要修改的行号 String newContent = "new content"; // 新内容 lines.set(lineNumber - 1, newContent); // 写入TXT文件 FileWriter writer = new FileWriter(file); BufferedWriter bw = new BufferedWriter(writer); for (String content : lines) { bw.write(content); bw.newLine(); } bw.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 在上面的示例代码中,我们首先读取了TXT文件的内容,并将其存储到一个ArrayList中。然后,我们通过lines.set()方法修改了指定行的内容。最后,我们使用BufferedWriter将ArrayList中的内容写入TXT文件中。请注意,行号是从1开始计数的,而ArrayList中的索引是从0开始计数的,因此要修改第n行的内容,需要使用lines.set(n-1, newContent)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值