「java替换多个」java替换多个不同字符

博主:adminadmin 2022-12-01 23:53:08 93

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

本文目录一览:

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问题,Replace一次替换多个字符

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

比如:String

src

=

"1、1、1";

src

=

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

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

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

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

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

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

JAVA中如何替换所有字符

使用正则表达式,直接替换所有的0-9数字

function cha(n)

{

var len=n.length;

for (var i=0;i=len;i++)

{

var temp=/\d/;

n=n.replace(temp,"");

}

if (n!="" n!=null){

alert(n);

return false;

}else{

alert(n);

return true;

}

}

如果是纯粹为了校验提交页面是否使用数字,可以用这个

function isint()

{

if (isNaN(pageform.page.value))

{

alert("请输入数字!");

return false;

}

pageform.submit();

}

字符串替换多个字符

不建议这样多次使用replace方法,效率比较低,建议使用StringBuilder创建新字符串,并使用映射表,代码如下,因为不太了解你代码意图,这里根据你图片里面内容生成了部分映射内容:

package test.replace;

import java.util.Hashtable;

public class Program {

private static HashtableString, String set = new HashtableString, String();

 

public static void main(String[] args) {

Program.InitSet();

String value = "Ac";

StringBuilder builder = new StringBuilder();

int length = value.length();

for(int i = 0; i  length; i++)

{

String c = ((Object)value.charAt(i)).toString();

if(set.containsKey(c))

{

String appendValue = set.get(c);

builder.append(appendValue);

}

}

System.out.println(builder.toString());

}

/**

 * 初始化映射表

 */

private static void InitSet()

{  

set.put("A", "一");

set.put("B", "二");

set.put("C", "三");

set.put("D", "四");

set.put("E", "五");

set.put("F", "六");

set.put("G", "日");

for(int i = 10; i  32; i++)

{

set.put(((Object)((char)('a' + i-10))).toString(), ((Object)i).toString());

}

}

我的运行结果如下:

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

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

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

The End

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