`

字符串替换

    博客分类:
  • java
 
阅读更多

  高效的字符串模式替换实现效果如下 

String str = "姓名:${name}\n性别:${sex}\n住址:${address}\n联系方式:${linkinf}";
Map<String, String> map1 = new HashMap<String, String>();
map1.put("xxx", "\\哈哈");
map1.put("name", "\"Steven\"");
map1.put("address", "${XX市XX区XXX二路X-X号X室}");
map1.put("linkinf", "\\13577777777\\");

System.out.println(Template.convert(str, map1)); 

姓名:"Steven"
性别:null
住址:${XX市XX区XXX二路X-X号X室}
联系方式:\13577777777\

public abstract class Template {
	private static final String START_FLAG = "${";
	private static final String END_FLAG = "}";
	/**
	 * 将字符串中特定模式的字符转换成map中对应的值
	 *
	 * @param s
	 *            需要转换的字符串
	 * @param map
	 *            转换所需的键值对集合
	 * @return 转换后的字符串
	 */
	public static String convert(String s, Map<String, String> map) {
		StringBuilder ret = new StringBuilder(s.length());
		int cursor = 0;
		for (int start, end; (start = s.indexOf(START_FLAG, cursor)) != -1
				&& (end = s.indexOf(END_FLAG, start)) != -1;) {
			ret.append(s.substring(cursor, start)).append(
					map.get(s.substring(start + START_FLAG.length(), end)));
			cursor = end + END_FLAG.length();
		}
		ret.append(s.substring(cursor, s.length()));
		return ret.toString();
	}
}
 
分享到:
评论

相关推荐

    PB程序中常用的字符串替换函数

    然而,PowerBuilder本身并未内置专门用于字符串替换的函数,这给开发者带来了一定的不便。为了解决这个问题,很多开发者会自行编写一些实用的字符串替换函数来满足项目需求。下面我们就基于题目中的信息,详细探讨...

    java 文本字符串替换工具

    在Java编程语言中,文本字符串替换是一个常见的任务,特别是在处理大量文本数据时。这个"java 文本字符串替换工具"很可能是为了帮助开发者高效地搜索和替换文件中的特定文本内容。让我们详细了解一下如何在Java中...

    oracle字符串替换

    ### Oracle字符串替换:使用REGEXP_REPLACE函数 在Oracle数据库中,对字符串进行处理是一项非常常见的需求,尤其是在数据清洗、格式转换等场景下。本文将详细介绍如何利用`REGEXP_REPLACE`函数来实现字符串替换功能...

    字符串替换C程序

    C语言内没有字符串替换函数,此函数实现字符串替换

    C语言字符串替换函数strrpl支持中文汉字

    C语言字符串替换函数strrpl支持中文汉字,解决含中文汉字,可能替换错误的情况。支持GBK、GB18030字符串。

    MyReplace字符串替换工具

    《MyReplace字符串替换工具详解与应用》 在日常的编程工作和文本处理中,我们经常需要对字符串进行各种操作,其中替换字符是一项基础且频繁的任务。传统的字符串替换方法可能需要手动进行十六进制转换,这无疑增加...

    文件字符串替换工具

    《文件字符串替换工具详解》 在信息技术领域,文件字符串替换是一项常见的操作,它涉及到文本处理、数据处理以及软件开发等多个方面。本篇文章将深入探讨基于C++编程语言实现的文件字符串替换工具,揭示其原理、...

    批量字符串替换工具

    《批量字符串替换工具详解》 在日常的计算机操作中,我们常常需要对大量文本文件中的特定字符串进行查找和替换,以实现数据的统一或者格式的调整。这时,一款高效的批量字符串替换工具就显得尤为重要。本文将详细...

    java字符串替换 代码转换相关源码.rar

    java字符转换类代码,可以实现判断字符串是否为空,并删除首尾空格,字符串替换函数,代码转换,GBK转换为ISO-8859-1,代码转换 从srcCode转换为destCode,代码转换,GBK转换为big5,替换非法字符,标记本身等于分隔...

    c++实现的字符串替换功能

    使用c++写的字符串替换函数,可以完成字符串的替换功能

    vb6字符串替换工具

    在VB6(Visual Basic 6)环境中,字符串处理是一项常见的任务,而“vb6字符串替换工具”正是这样一个专为处理字符串替换问题而设计的应用程序。它提供了用户友好的界面和功能,使得程序员或普通用户能够方便地在文本...

    c语言实现字符串替换

    c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现字符串替换c语言实现...

    vim 全文字符串替换

    ### Vim全文字符串替换 在日常的编程或文本编辑过程中,我们经常会遇到需要对大量文本进行字符串替换的需求。尤其是在处理从Windows系统复制到Linux系统中的文本时,常常会遇到换行符不兼容的问题,例如文中提到的`...

    Delphi字符串快速替换函数,速度超快 秒杀自带的StringReplace函数

    针对这种情况,开发人员经常寻找更高效的替代方案,如在本案例中提到的“Q_Replace.pas”文件所包含的快速字符串替换函数。 `StringReplace`函数的语法如下: ```delphi function StringReplace(const S, Find, ...

    字符串替换java类

    字符串替换java类 具体应用:例如把utf-8替换成gb2312

    linux 下c写的字符串替换

    字符串操作是C语言编程中的基础部分,而字符串替换则是处理文本数据时常见的需求。本文将深入探讨如何在Linux下使用C语言实现字符串替换的功能。 首先,我们需要理解C语言中的字符串。在C语言中,字符串是由字符...

    fortran分割字符串和字符串替换的子程序_Fortran_

    下面是一个简单的字符串替换示例: ```fortran function replace_string(input_string, old_substring, new_substring) result(output_string) character(len=*), intent(in) :: input_string, old_substring, ...

    一个批量字符串替换小工具

    批量字符串替换小工具,支持自定义文件扩展名,包含目录及子目录。

    比CString更高效的字符串替换

    本话题聚焦于一个优化过的字符串替换方法,针对原生MFC库中`CString::Replace`函数性能问题进行改进。`CString`是Microsoft Foundation Class (MFC) 库中的一个类,用于方便地处理和操作字符串,但有时其性能可能不...

    字符串查找与替换程序 文件

    本文将详细介绍字符串替换函数的实现过程和原理,该函数用于将指定字符串中指定的字符串替换为新的字符串。同时,本文还将对Java语言中的字符串处理进行详细介绍。 字符串替换函数 字符串替换函数是一个常用的字符...

Global site tag (gtag.js) - Google Analytics