「java替换多个」javareplace多个替换
本篇文章给大家谈谈java替换多个,以及javareplace多个替换对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java中如何同时替换字符串中两个或者多个字符, 例如吧ABCDEF替换成A1C2EF?
- 2、JAVA问题,Replace一次替换多个字符
- 3、Java给字符串替换几个词文本...急,高手来吧...
- 4、java 怎么替换 多个中文【】里的内容
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替换多个的信息别忘了在本站进行查找喔。
发布于:2022-12-14,除非注明,否则均为
原创文章,转载请注明出处。