zoukankan      html  css  js  c++  java
  • 利用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;
                }
            }

        }

    }

  • 相关阅读:
    MySQl数据约束练习
    MySQL查询实例
    网络通信协议简介(TCP与UDP)
    数据类型转换
    C++编译过的C代码为什么要用extern C
    hashtable
    以RB-tree为底层机制的几个关联式容器
    红黑树(RB-Tree)
    slist
    deque
  • 原文地址:https://www.cnblogs.com/zw520ly/p/6030186.html
Copyright © 2011-2022 走看看