• 利用StringBuffer向字符串特定的重复子字符串插入数据


    public class InsertDetail {

        public void insertInvoiceDetail(StringBuffer sb, String Label, String InsertValue) {
            // 查找目标元素的起始位置
            int index = 0;
            while (true) {
                // 起始位置的值小于或者最后一个相同标签的索引值时,将指定的数据InsertValue插入到该标签的当前位置
                if (index < sb.lastIndexOf(Label) || index == sb.lastIndexOf(Label)) {
                    sb.insert(sb.indexOf(Label, index), InsertValue);
                    // 查找目标元素的起始位置从前一个相同元素的当前位置算起
                    index = 1 + sb.indexOf(Label, index);
                    continue;
                } else {
                    break;
                }
            }

        }

        // 此方法是为了专门插入统编代码的,在第一个统编代码的位置不插入任何东西
        public void insertCode(StringBuffer sb, String Label, String InsertValue) {
            // 查找目标元素的起始位置
            int index = 0;
            while (true) {
                // 起始位置的值小于或者最后一个相同标签的索引值时,将指定的数据InsertValue插入到该标签的当前位置
                if (index < sb.lastIndexOf(Label) || index == sb.lastIndexOf(Label)) {
                    // 当找到第一个统编代码时,插入空
                    if (index == 0) {
                        sb.insert(sb.indexOf(Label, index), "");
                        // 查找元素的起始位置从从前一个相同元素的当前位置算起
                        index = 1 + sb.indexOf(Label, index);
                        continue;
                    } else {
                        sb.insert(sb.indexOf(Label, index), InsertValue);
                        // 查找目标元素的起始位置从前一个相同元素的当前位置算起
                        index = 1 + sb.indexOf(Label, index);
                        continue;
                    }
                } else {
                    break;
                }
            }

        }

    }

  • 相关阅读:
    C++模板的声明与实现分离 编译错误详解
    C语言中数据类型的隐式转换
    UNIX 高手的 10 个习惯
    linux 信号量
    引用与数组
    Linux 的变量命名规则
    .bash_profile和.bashrc的区别(如何设置生效
    URAL 1053 Pinocchio
    URAL 1040 Airline Company
    URAL 1045 Funny Game
  • 原文地址:https://www.cnblogs.com/zw520ly/p/6030186.html
Copyright © 2020-2023  润新知