经常遇到一种经常替换字符串的操作,有一个文本,将里面的所有符合条件的字符串替换为另一个字符串。而且可能同时需要替换多个这样的字符串。使用文本处理工具,比如sublime,vi等等也可以很方便地实现。

这里给出一个java版本的实现,给出的是核心实现,如果实现全自动的话,还需要读者进一步封装。

package cn.ancony.os.replace;import java.util.HashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class StringReplace {public static String replaceMap(String src, Map<String, String> map) {int size = map.size();String[] strings = map.keySet().toArray(new String[size]);Replace ra = new Replace(src);for (int i = 0; i < strings.length; i++) {ra.replaceAll(strings[i], map.get(strings[i]));}return ra.toString();}private static class Replace {private String srcString;Replace(String string) {srcString = string;}@Overridepublic String toString() {return srcString;}private Replace replaceAll(String oldStr, String newStr) {srcString = replaceAll(srcString, oldStr, newStr);return this;}private static String replaceAll(String srcString, String oldSubString, String newSubString) {Pattern ll = Pattern.compile(oldSubString);Matcher m = ll.matcher(srcString);return m.replaceAll(newSubString);}}
}

使用方法介绍。

首先将要替换的字符串和替换后的字符串以kv形式封装进map。然后调用StringReplace的静态方法replaceMap。

客户端演示:

class Main {public static void main(String[] args) {String s = "A b c D e f g c e f";Map<String, String> map = new HashMap<>(2);map.put("e", "u");map.put("c", "y");String s1 = StringReplace.replaceMap(s, map);System.out.println(s1);}
}

运行结果:

A b y D u f g y u f

Java替换所有的字符串相关推荐

  1. [剑指offer]面试题第[2]题[JAVA][替换空格][函数][字符串]

    [问题描述] 请实现一个函数,将一个字符串中的每个空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. [解答 ...

  2. java 替换多个字符串_Java一次(或以最有效的方式)替换字符串中的多个不同子字符串...

    小编典典 如果你要处理的字符串很长,或者你要处理许多字符串,那么使用java.util.regex.Matcher可能是值得的(这需要花很长时间进行编译,因此效率不高) (如果你的输入很小或搜索模式经 ...

  3. java替换空格_字符串替换空格

    需求: 请实现一个函数,把字符串中的每个空格替换成"%20",例如,输入"We are happy!",则输出"We%20are%20happy!&q ...

  4. java替换括号内字符串

    背景:例如字符串"这是[XX]",XX为任意字符串,我们需求是将XX替换为想要的字符串 解决:采用正则表达式.*?进行任意字符匹配 String remark = "这是 ...

  5. [转载] java如何实现一个字符串的反转和替换

    参考链接: 反转Java中的字符串String 一.java字符串的反转 1.利用java字符串的拼接实现字符串的反转,代码如下: public static String reverse(Strin ...

  6. java字符串替换 数组,Java工具类-拆分字符串组装数组,替换字符

    Java工具类--拆分字符串组装数组,替换字符 >>>>>>>>>>>>>>>>>>> ...

  7. Java 替换字符串中空格的三种方法

    1.方法分类 str.trim(); //去掉首尾空格 str.replace(" ",""); //去除所有空格,包括首尾.中间 str.replaceAll ...

  8. java替换字符串中的字符_Java中字符串的替换

    最近在网上搜集了一些java中字符串替换的方法. 1. /** * 字符串替换函数 * @param from 要替换的字符 * @param to 要替换成的目标字符 * @param source ...

  9. java 替换第二个字符_字符串替换第二个相同的字符

    r语言如何把字符串中连续的几个相同的字符替换为一比如abbccccdd,替换为abcd保罗?科贺:没有一颗心,会因为追分享梦想而受伤. jquery 把字符串中的某个字符全部替换 start.repl ...

最新文章

  1. ASP.NET Razor – C# 变量简介
  2. HDU1556(树状数组模版)
  3. HP380G7服务器安装fedaro16的问题解决
  4. Spring Boot 配置元数据指南
  5. python sys.argv 默认值
  6. leetcode算法题--Unique Paths II
  7. antd vue 树更新数据后不展开_很全面的vue面试题总结
  8. 系统架构师 项目经理 哪个更有前景_中央空调加地暖与五恒系统,哪个更省钱?...
  9. 【面试总结】2021Java春招面试经历
  10. 2018数学建模A题的简单指导
  11. python中sorted函数的作用_Python中排序方法sort、函数sorted的key参数的作用分析
  12. 【图像加密】基于matlab Logistic混沌图像加密与解密【含Matlab源码 1216期】
  13. AMS1117-3.3电源芯片损坏分析
  14. ping C语言实现
  15. 基于SSM+MySQL+Vue前后端分离的在线问卷调查系统
  16. linux 查看内存大小命令,Linux查看命令:CPU型号,内存大小,硬盘空间
  17. PHP + AJAX实现幸运转盘抽奖
  18. 双因素方差分析 matlab,MATLAB的双因素有交互效应的方差分析
  19. RAR文件格式学习(了解)
  20. Allegro如何更改铜皮的网络操作指导

热门文章

  1. 【小狐狸 - 横版游戏开发】1.编辑素材 Til
  2. linux远程连接ssh服务和http的深入介绍
  3. 渗透杂记2013-07-31
  4. halcon 纹理检测_Halcon 纹理缺陷检测 apply_texture_inspection_model
  5. 本地项目上传到gitee(码云)
  6. Hello Tarjan ---- Tarjan算法小结
  7. 异常被 ”吃“ 掉导致事务无法回滚
  8. CSS基础(10)- 常规流
  9. 小白MAC下安装Caffe 2019最新血泪史
  10. 微信小程序---页面事件