Java替换所有的字符串
经常遇到一种经常替换字符串的操作,有一个文本,将里面的所有符合条件的字符串替换为另一个字符串。而且可能同时需要替换多个这样的字符串。使用文本处理工具,比如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替换所有的字符串相关推荐
- [剑指offer]面试题第[2]题[JAVA][替换空格][函数][字符串]
[问题描述] 请实现一个函数,将一个字符串中的每个空格替换成"%20".例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. [解答 ...
- java 替换多个字符串_Java一次(或以最有效的方式)替换字符串中的多个不同子字符串...
小编典典 如果你要处理的字符串很长,或者你要处理许多字符串,那么使用java.util.regex.Matcher可能是值得的(这需要花很长时间进行编译,因此效率不高) (如果你的输入很小或搜索模式经 ...
- java替换空格_字符串替换空格
需求: 请实现一个函数,把字符串中的每个空格替换成"%20",例如,输入"We are happy!",则输出"We%20are%20happy!&q ...
- java替换括号内字符串
背景:例如字符串"这是[XX]",XX为任意字符串,我们需求是将XX替换为想要的字符串 解决:采用正则表达式.*?进行任意字符匹配 String remark = "这是 ...
- [转载] java如何实现一个字符串的反转和替换
参考链接: 反转Java中的字符串String 一.java字符串的反转 1.利用java字符串的拼接实现字符串的反转,代码如下: public static String reverse(Strin ...
- java字符串替换 数组,Java工具类-拆分字符串组装数组,替换字符
Java工具类--拆分字符串组装数组,替换字符 >>>>>>>>>>>>>>>>>>> ...
- Java 替换字符串中空格的三种方法
1.方法分类 str.trim(); //去掉首尾空格 str.replace(" ",""); //去除所有空格,包括首尾.中间 str.replaceAll ...
- java替换字符串中的字符_Java中字符串的替换
最近在网上搜集了一些java中字符串替换的方法. 1. /** * 字符串替换函数 * @param from 要替换的字符 * @param to 要替换成的目标字符 * @param source ...
- java 替换第二个字符_字符串替换第二个相同的字符
r语言如何把字符串中连续的几个相同的字符替换为一比如abbccccdd,替换为abcd保罗?科贺:没有一颗心,会因为追分享梦想而受伤. jquery 把字符串中的某个字符全部替换 start.repl ...
最新文章
- ASP.NET Razor – C# 变量简介
- HDU1556(树状数组模版)
- HP380G7服务器安装fedaro16的问题解决
- Spring Boot 配置元数据指南
- python sys.argv 默认值
- leetcode算法题--Unique Paths II
- antd vue 树更新数据后不展开_很全面的vue面试题总结
- 系统架构师 项目经理 哪个更有前景_中央空调加地暖与五恒系统,哪个更省钱?...
- 【面试总结】2021Java春招面试经历
- 2018数学建模A题的简单指导
- python中sorted函数的作用_Python中排序方法sort、函数sorted的key参数的作用分析
- 【图像加密】基于matlab Logistic混沌图像加密与解密【含Matlab源码 1216期】
- AMS1117-3.3电源芯片损坏分析
- ping C语言实现
- 基于SSM+MySQL+Vue前后端分离的在线问卷调查系统
- linux 查看内存大小命令,Linux查看命令:CPU型号,内存大小,硬盘空间
- PHP + AJAX实现幸运转盘抽奖
- 双因素方差分析 matlab,MATLAB的双因素有交互效应的方差分析
- RAR文件格式学习(了解)
- Allegro如何更改铜皮的网络操作指导