「java替换多个」javareplace多个替换

博主:adminadmin 2022-12-14 15:30:09 75

本篇文章给大家谈谈java替换多个,以及javareplace多个替换对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java中如何同时替换字符串中两个或者多个字符, 例如吧ABCDEF替换成A1C2EF?

用java api现成的东西 是不可能实现的

你思路有问题,你替换b为1 d为2 怎么可能只替换一次?

如果把b d 都替换成2 还能用正则表达式写,一次替换掉

除非你自己写个工具方法,传入一个数组放目标字符和替换字符键值对,写个循环对字符串进行替换,直接调用这个方法的话,看上去是替换了一次

JAVA问题,Replace一次替换多个字符

你好,replace主要是用来替换相同字符的。你想要替换成不同的字符就需要使用字符串的replaceFirst方法,每次只替换第一个字符。

比如:String

src

=

"1、1、1";

src

=

src.replaceFirst("1","a").replaceFirst("1","b").replaceFirst("1","c")

Java给字符串替换几个词文本...急,高手来吧...

//代码在JDK1.3环境中测试正常.请给分.

package com.ben.util;

public final class PasteTemplate {

private final String[] params;//参数

private final StringBuffer result;//结果缓存

private PasteTemplate(String[] params) {

super();

this.params = params;

this.result = new StringBuffer();

}

/**

* 提供外部方法

* @param tpl

* @param params

* @return

*/

public static String pasteTemplate(String tpl, String[] params) {

PasteTemplate pasteTemplate = new PasteTemplate(params);

pasteTemplate.execute(tpl, 0);

return pasteTemplate.result.toString();

}

/**

* 是否是数字

* @param c

* @return

*/

private static final boolean isNum(char c) {

return c 58 c 47;

}

/**

* 核心执行方法

* @param source 源

* @param begin 解析开始位置

* @return

*/

private final boolean execute(String source, int begin) {

if (begin + 5 source.length()) {

result.append(source.substring(begin));

return false;

}

char c = source.charAt(begin++);

if (c == '{') {// 有可能是

c = source.charAt(begin++);

if (c == '{') {// 第二个{

c = source.charAt(begin++);

// 如果是数字

if (isNum(c)) {

StringBuffer numString = new StringBuffer(4);// 保存数字

numString.append(c);

boolean isZoro = '0' == c;

// 查找下一个'}'位置

while (true) {

c = source.charAt(begin++);

if (isNum(c) !isZoro) {

numString.append(c);

} else {

if (c == '}') {

c = source.charAt(begin++);

if (c == '}') {

int number = Integer.parseInt(numString

.toString());

if (number params.length) {

result.append(params[number]);

} else {

// throw new RunTimeException("参数长度不等");

result.append("!未找到参数[" + numString

+ "]!");

}

return execute(source, begin);

} else {

result.append("{{").append(numString)

.append("}");

return execute(source, begin - 1);

}

} else {

result.append("{{").append(numString);

return execute(source, begin - 1);

}

}

}

} else {

result.append("{{");// 加上{

return execute(source, begin - 1);

}

} else {

result.append('{');// 加上第一个{

return execute(source, begin - 1);

}

} else {

result.append(c);

return execute(source, begin);

}

}

/**

* main

* @param args

* @throws Throwable

*/

public static void main(String[] args) throws Throwable {

String source = "a{a}a,{{0}{{0}}},a{{02}}a}a}a{,{{1}a,{{{{1}}}},{{2}}a--a{{6}}";

String result = pasteTemplate(source,

new String[] { "我", "爱", "人", "民" });

System.out.println(result);

}

}

java 怎么替换 多个中文【】里的内容

i.replace("【1】","【4】").replace("【2】","【5】").replace("【3】","【6】");

java替换多个的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于javareplace多个替换、java替换多个的信息别忘了在本站进行查找喔。

The End

发布于:2022-12-14,除非注明,否则均为首码项目网原创文章,转载请注明出处。