• java字符串替换函数高效实现


     1 public static String removeStr(String src, String str) {
     2         if (src == null || str == null) return src;
     3         int idx = src.indexOf(str);
     4         if (idx == -1) return src;
     5         int pst = 0;
     6         char[] cs = src.toCharArray();
     7         char[] rs = new char[src.length() - str.length()];
     8         for (int i = 0; i < cs.length; i ++) {
     9             if (i >= idx && i < idx + str.length()) continue;
    10             rs[pst] = cs[i];
    11             pst ++;
    12         }
    13         return new String(rs);
    14     }
    15     public static String replaceStr(String src, String target, String replacement) {
    16         if (src == null || target == null || replacement == null) return src;
    17         int idx = src.indexOf(target);
    18         if (idx == -1) return src;
    19         int pst = 0;
    20         char[] cs = src.toCharArray();
    21         char[] rs = new char[src.length() - target.length() + replacement.length()];
    22         for (int i = 0; i < cs.length; i ++) {
    23             if (i == idx) {
    24                 for (char c : replacement.toCharArray()) {
    25                     rs[pst] = c;
    26                     pst ++;
    27                 }
    28                 continue;
    29             }
    30             if (i > idx && i < idx + target.length()) continue;
    31             rs[pst] = cs[i];
    32             pst ++;
    33         }
    34         return new String(rs);
    35     }
    36     /**
    37      * 
    38      * @param src
    39      * @param target
    40      * @param replacement
    41      * @return
    42      */
    43     public static String replaceAllStr(String src, String target, String replacement) {
    44         if (src == null || target == null || replacement == null) return src;
    45         int idx = src.indexOf(target);
    46         if (idx == -1) return src;
    47         int pst = 0;
    48         char[] cs = src.toCharArray();
    49         char[] rs = new char[src.length() - target.length() + replacement.length()];
    50         for (int i = 0; i < cs.length; i ++) {
    51             if (i == idx) {
    52                 for (char c : replacement.toCharArray()) {
    53                     rs[pst] = c;
    54                     pst ++;
    55                 }
    56                 continue;
    57             }
    58             if (i > idx && i < idx + target.length()) continue;
    59             rs[pst] = cs[i];
    60             pst ++;
    61         }
    62         return replaceAllStr(new String(rs), target, replacement);
    63     }
  • 相关阅读:
    [洛谷P3674]小清新人渣的本愿
    [洛谷P2698][USACO12MAR]花盆Flowerpot
    [洛谷P4329][COCI2006-2007#1] Bond
    [洛谷P3203][HNOI2010]弹飞绵羊
    [洛谷P1407][国家集训队]稳定婚姻
    [洛谷P3388]【模板】割点(割顶)
    TX2_安装view_team
    tx2的一些系统命令
    tensorflow-cnnn-mnist
    mnist数据集tensorflow实现
  • 原文地址:https://www.cnblogs.com/wq920/p/5846910.html
Copyright © 2020-2023  润新知