字符串替换方法的优劣

需求String str =  "中aacabbbaac中sabbcccdddddeee";  

     String[] findStr = {"aa","b","c","d","e","f","g"} ; 

         String[] repStr = {"A","B","C","D","E","F","G"} ;  

在str中查找findStr中的字符串,如果找到则替换成与findSt索引位置对应的repStr数组中的字符串元素。

方法一:int len = findStr.length ;
           for(int i=0 ; i<len ;i++){
       str = str.replace(findStr[i], repStr[i]);
    }

 

方法二: int len = findStr.length ;

            StringBuffer sf = new StringBuffer(str) ;
     for(int i=0 ; i<len ;i++){

         while(iStart > -1)
              {
            iStart = sf.indexOf(gjcMcStr[i]) ;
                           if(iStart > -1)
                                     sf.replace(iStart, iStart+gjcMcStr[i].length(), gjcTdcStr[i]) ;
                           else
                                     break ;
                   }
             }

             str = sf.toString() ;

 

方法三:

      Map<String,String> map=new HashMap<String,String>();
      map.put("aa", "A");
      map.put("b", "B");
      map.put("c", "C");
      map.put("d", "D");
      map.put("e", "E");
      map.put("f", "F");
      map.put("g", "G");  

             Matcher matcher = Pattern.compile("(?:aa|b|c|d|e|f|g)").matcher(str);

      StringBuffer sf = new StringBuffer();
  
      while (matcher.find()) {
         matcher.appendReplacement(sf, map.get(matcher.group()));
      }
      matcher.appendTail(sf);

       str = sf.toString() ;

转载于:https://www.cnblogs.com/hzhuxin/archive/2012/07/02/2573632.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/403937.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Fedora 19 Mate环境安装Gnome3

From: http://blog.csdn.net/skykingf/article/details/9230297 等了N久的Fedora19终于出来了&#xff0c;安装时选了Mate桌面&#xff0c;装完后发现真是回到了Gnome2的年代&#xff0c;同样是Mate&#xff0c;Fedora就不能向Mint15里的Mate学学&#xff1f;起码也让用户感觉…

6月份美国域名总量新增近5.4万个 环比减少51%

中国IDC评述网07月03日报道&#xff1a;据域名统计机构WebHosting.info公布的数据显示&#xff0c;截至2012年6月25日&#xff0c;美国域名总量达到了79,632,920个&#xff0c;域名增幅较小。下面&#xff0c;IDC评述网与大家一起关注6月份美国域名注册量最新情况。 &#xff0…

vue+element-ui大文件的分片上传和断点续传js-spark-md5和browser-md5-file

注意&#xff1a;以下共两份代码片段&#xff0c;第一份为原博主链接代码&#xff0c;第二份自己写的整体代码&#xff08;比较乱&#xff09; 1.参考 https://www.cnblogs.com/kelelipeng/p/10158599.html &#xff08;js-spark-md5和browser-md5-file&#xff09; 和 https:…

Fedora 20 安装试用体验全程讲解

From: http://www.jb51.net/os/Fedora/177583.html Fedora 20在两次跳票后正式发布&#xff0c;主要特性包括&#xff1a;远程桌面方案X2Go&#xff1b;网络管理器支持扩大绑定和桥接功能&#xff1b;改进3D打印机支持等&#xff0c;本文中&#xff0c;作者对Fedora 20 进行安装…

NUC972配置为支持NFS

为了使用NFS进行调试。需要安装NFS server,具体的流程在上一篇博文中有较为详细的介绍。在配置内核时需要做如下的操作&#xff1a; 对于Boot option中的处理&#xff0c;可以不用写在env.txt配置也是可以的。 baudrate115200 bootargsnoinitrd consolettyS0,115200 r…

华为的冬天(来自网路)---任正非

公司所有员工是否考虑过&#xff0c;如果有一天&#xff0c;公司销售额下滑、利润下滑甚至会破产&#xff0c;我们怎么办&#xff1f;我们公司的太平时间太长了&#xff0c;在和平时期升的官太多了&#xff0c;这也许就是我们的灾难。泰坦尼克号也是在一片欢呼声中出的海。而且…

js call

call 方法 请参阅 应用于&#xff1a;Function 对象 要求 版本 5.5 调用一个对象的一个方法&#xff0c;以另一个对象替换当前对象。 call([thisObj[,arg1[, arg2[, [,.argN]]]]]) 参数 thisObj 可选项。将被用作当前对象的对象。 arg1, arg2, , argN 可选项。将被传…

【Fedora20】 samba配置

From: http://blog.163.com/shi_shun/blog/static/23707849201452641312640/ 1、安装前的准备 关闭防火墙 //不关的后果是windows看不到本机 systemctl stop firewalld //暂时关闭防火墙 systemctl disable firewalld //开机禁止启动 关闭selinux //不关…

64位ubuntu安装交叉编译器出现的问题。nuc972工程中的问题

现象 &#xff1a;arm-linux-gcc-v 出现no such file or dir. 解决办法&#xff1a;apt-get install lsb-core 现象&#xff1a;gcc: error while loading shared libraries: libstdc.so.6: cannot open shared object file: No such file or directory 解决办法&#xff1a;ap…

Linux PCI网卡驱动分析

http://www.uplinux.com/shizi/wenxian/4429.html Linux网卡驱动分析 学习应该是一个先把问题简单化&#xff0c;在把问题复杂化的过程。一开始就着手处理复杂的问题&#xff0c;难免让人有心惊胆颤&#xff0c;捉襟见肘的感觉。读Linux网卡驱动也是一样。那长长的源码夹杂着那…

【操作系统】实验二 作业调度模拟程序

一、目的和要求 1. 实验目的 &#xff08;1&#xff09;加深对作业调度算法的理解&#xff1b; &#xff08;2&#xff09;进行程序设计的训练。 2&#xff0e;实验要求 用高级语言编写一个或多个作业调度的模拟程序。 单道批处理系统的作业调度程序。作业一投入运行&#xff0…

Ubuntu 12.04 LTS安装VMware Tools:无法找到kernel header path的问题

From: http://www.cnblogs.com/lifegoesonitself/p/3357375.html Ubuntu 12.04 安装 VMware Tools&#xff0c;运行vmware-config-tools.pl 时&#xff0c;总是提示The path "" is not valid.What is the location of the directory of C header files that match y…

Nuc972使用NandFlash时,uboot所需要的改动

先贴错误现象。 做工程&#xff0c;我发现&#xff0c;就应该里面记录下来&#xff0c;哪怕再简单&#xff0c;一两个月后&#xff0c;果断忘&#xff0c;最不能相信自己的脑子。不好使~~~~

手把手教你用Python爬虫煎蛋妹纸海量图片

我们的目标是用爬虫来干一件略污事情 最近听说煎蛋上有好多可爱的妹子&#xff0c;而且爬虫从妹子图抓起练手最好&#xff0c;毕竟动力大嘛。而且现在网络上的妹子很黄很暴力&#xff0c;一下接受太多容易营养不量&#xff0c;但是本着有人身体就比较好的套路&#xff0c;特意分…

chrome浏览器的跨域设置,前端修改跨域问题

原文&#xff1a;https://www.cnblogs.com/laden666666/p/5544572.html 做前后分离的webapp开发的时候&#xff0c;出于一些原因往往需要将浏览器设置成支持跨域的模式&#xff0c;好在chrome浏览器就是支持可跨域的设置&#xff0c;网上也有很多chrome跨域设置教程。但是新版本…

Server 2012 Hyper-v新功能之二:自动化支持技术

Server 2012 Hyper-v新功能之一&#xff1a;客户端 Hyper-V Windows PowerShell 是在 Windows Server 中执行自动化任务的脚本解决方案&#xff0c;新的适用于 Windows PowerShell 的 Hyper-V cmdlet 为 IT 专业人员提供了一种简单的方法&#xff0c;能够在 Windows Server 201…

串口VMIN VTIME 详解

以前跟着做过VxWorks的开发&#xff0c;主要通信方式是串口&#xff0c;因为底层BSP包已经做好了&#xff0c;串口通信非常简单。后来接触Linux&#xff0c;在一块OK6410上跑Linux串口通信&#xff0c;才发现原来天真的以为甚是简单的串口变得如此的不简单。#include <termi…

cocos2dx 3.0 windows平台 中文乱码解决

From: http://www.cnblogs.com/yujiaao/p/3691938.html 因为linux下cocostudio wine安装不上 而且又要开发windows程序 果断舍弃了ubuntu而实用vs2013 去玩cocos2dx3.0 花了一天的时间才解决中文乱码 泪奔ing 分享记录下 下面是我尝试的的过程&#xff1a; 1相关设置 右键项…