public static String removeStr(String src, String str) {
if (src == null || str == null) return src;
int idx = src.indexOf(str);
if (idx == -1) return src;
int pst = 0;
char[] cs = src.toCharArray();
char[] rs = new char[src.length() - str.length()];
for (int i = 0; i < cs.length; i ++) {
if (i >= idx && i < idx + str.length()) continue;
rs[pst] = cs[i];
pst ++;
}
return new String(rs);
}
public static String replaceStr(String src, String target, String replacement) {
if (src == null || target == null || replacement == null) return src;
int idx = src.indexOf(target);
if (idx == -1) return src;
int pst = 0;
char[] cs = src.toCharArray();
char[] rs = new char[src.length() - target.length() + replacement.length()];
for (int i = 0; i < cs.length; i ++) {
if (i == idx) {
for (char c : replacement.toCharArray()) {
rs[pst] = c;
pst ++;
}
continue;
}
if (i > idx && i < idx + target.length()) continue;
rs[pst] = cs[i];
pst ++;
}
return new String(rs);
}
/**
*
* @param src
* @param target
* @param replacement
* @return
*/
public static String replaceAllStr(String src, String target, String replacement) {
if (src == null || target == null || replacement == null) return src;
int idx = src.indexOf(target);
if (idx == -1) return src;
int pst = 0;
char[] cs = src.toCharArray();
char[] rs = new char[src.length() - target.length() + replacement.length()];
for (int i = 0; i < cs.length; i ++) {
if (i == idx) {
for (char c : replacement.toCharArray()) {
rs[pst] = c;
pst ++;
}
continue;
}
if (i > idx && i < idx + target.length()) continue;
rs[pst] = cs[i];
pst ++;
}
return replaceAllStr(new String(rs), target, replacement);
}

java字符串替换函数高效实现的更多相关文章

  1. Java字符串替换函数replace、replaceFirst、replaceAll

    一.replace(String old,String new) 功能:将字符串中的所有old子字符串替换成new字符串 示例 String s="Hollow world!"; ...

  2. java 字符串替换函数replaceAll 一次同时替换多个字符串

    public static void main(String[] args) throws Exception { String src = "南京市玄武区北京东路徐州市鼓楼区戏马台&quo ...

  3. JS字符串替换函数:Replace(“字符串1″, “字符串2″),

    JS字符串替换函数:Replace(“字符串1″, “字符串2″), 1.我们都知道JS中字符串替换函数是Replace(“字符串1″, “字符串2″),但是这个函数只能将第一次出现的字符串1替换掉, ...

  4. JAVA字符串处理函数列表一览

    JAVA字符串处理函数列表一览   Java中的字符串也是一连串的字符.但是与许多其他的计算机语言将字符串作为字符数组处理不同,Java将字符串作为String类型对象来处理.将字符串作为内置的对象处 ...

  5. sql server 字符串替换函数REPLACE

    sql server 字符串替换函数REPLACE函数的使用 <pre name="code" class="sql">--参数1:需要替换字符的母 ...

  6. php中几个字符串替换函数详解

    在php中字符替换函数有几个如有:str_replace.substr_replace.preg_replace.preg_split.str_split等函数,下面我来给大家总结介绍介绍. 一.st ...

  7. PHP字符串替换函数

    str_replace函数 描述:实现字符串替换,区分大小写 语法:mixed str_replace(mixed $search, mixed replace, mixed $subject, [i ...

  8. Java字符串替换忽略大小写

    今天在做字符串替换时忽略大小写,网上找到了一个非常简便的方法,使用String的replaceAll方法. java.lang.String.replaceAll(String regex, Stri ...

  9. sql server 数据字符串替换函数

    sql server 替换函数 replace 函数参数 REPLACE(string_expression, string_pattern, string_replacement) 1.string ...

随机推荐

  1. Windows server 2008R2部署服务批量安装Windows7教程

    利用Windows server 2008 R2下的Windows部署服务可以批量安装Windows 7,以下简称WDS. WDS需要用到域和dhcp.DNS服务,所以,基础环境必须要有域控制器,dh ...

  2. thinkphp数据库添加表单提交的数据

    $data['catename'] = I('catename');     获取表单的数据 $cate=D('cate');                               实例化cat ...

  3. ngrok逆向代理服务器搭建微信公众号本地开发环境

    一条命令解决的外网访问内网问题 本地WEB外网访问.本地开发微信.TCP端口转发 平台登陆地址:http://www.ngrok.cc/login 新版本上线启动方式更简单使用视频教程 在路由器上面的 ...

  4. javaSE第四天

    第四天    18 1. switch语句(掌握)    18 (1)格式:    18 (2)面试题    19 (3)执行流程:    19 (4)注意事项:    19 (5)案例:    19 ...

  5. 1.Mariadb(mysql)基本操作

    1.:安装与初始化 1)安装 yum install -y mariadb\* 2)初始化 systemctl restart mariadb systemctl enable  mariadb my ...

  6. mysql触发器关联表更新

    mysql> create table voteItem -> ( -> id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, -> titl ...

  7. 软件工程 speedsnail 冲刺4

    2015-5-8 完成任务:学习了黑马android教学视频7.8.9集,对布局和计划做了调整: 遇到问题: 问题1 异常 Warning: Activity not started, its cur ...

  8. PHP-Fcgi下PHP的执行时间设置方法

    昨天,一个程序需要导出500条数据,结果发现到150条是,Nginx报出504 Gateway Timeout错误,原来PHP-Fcgi下的设置执行时间与isapi的不同     一般情况下设置PHP ...

  9. android sdk国内目录http://mirrors.neusoft.edu.cn/android/repository/

    http://mirrors.neusoft.edu.cn/android/repository/

  10. IT新人论成长

    说自己是新人,其实自己也不新了,2012年毕业,辗转3个城市,现在在上海一家公司,工资不到5K. 在来现在公司之前,我从事web后台开发,采用MVC模式,虽然做了不少的网站,但感觉自己的水平还是在底层 ...