String s="尊敬的${UserName}用户
String userName="zxd";
s.replace("${UserName}", userName);
System.out.println(s);//怎么把${UserName}替换成"zxd";
解决方案 »
- 哪位讲下 for each 循环
- 请教一个java多线程的问题,想在一个线程中执行多个 Runnable 接口实例的run方法。
- 一道题,进来试试··不难也不容易
- Java 可以对某一路径加锁吗
- 急求用swing实现不规则窗体
- 关于log4j 缺少一天日志问题
- 结果为什么是AB
- 奇怪了,我的程序,为什么在最大化后,才显示里面的内容啊在线等啊
- applet问题
- 我要用java做电费单据的打印,可是不知道如何设置printerJob的pageFormat为我要打印单据的页面格式,默认的总是A4的页面,请问如何解决??
- JSP 连接 MySql的问题
- Java Clipboard操作系统剪切板的问题
String s = "尊敬的${UserName}用户";
String userName = "zxd";
String replace = s.replace("${UserName}", userName);
System.out.println(replace);
String userName="zxd";
s = s.replace("${UserName}", userName);
System.out.println(s);
String userName="zxd";
s.replace("${UserName}", userName);
System.out.println(s);
//怎么把${UserName}替换成"zxd";
这样写不行的所以才来问,别和我写的一样额
org.apache.commons.lang3.StringUtils.replace(str, "${userName}", value);但是需要导入commons-lang3-3.1.jar这个包,你网上下载一下
public static void main(String args[]) {
String s = "尊敬的${UserName}A${UserName}${UserName";
String userName = "zxd";
repStr(s, "${UserName}", userName);
}
//用 takeplace替换part
public static void repStr(String source, String part, String takeplace) {
int len = part.length();
StringBuffer sb = new StringBuffer();
StringBuffer result = new StringBuffer();
for (int i = 0;; i++) {
if (i > source.length() - len) {
result.append(source.subSequence(i, source.length()));
break;
} else {
for (int j = i; j <= source.length(); j++) {
if (sb.length() < len) {
sb.append(source.charAt(j));
} else {
if (sb.toString().equals(part)) {
result.append(takeplace);
i += len - 1;
} else {
result.append(source.charAt(i));
}
sb = new StringBuffer();
break;
} }
} }
System.out.println(result);
}
2.如果是JAVA代码中,可以考虑使用String.format(string,...object);
String.format("user:%s,age:%d","userName",20);
String s = "尊敬的${UserName}用户";
String userName = "zxd";
String replace = s.replace("${UserName}", userName);
System.out.println(replace);// TODO Auto-generated method stub }
这样可行,jdk5
s = s.replace("${UserName}", userName);
楼主可以看下这里,感觉不行的原因就是这,因为String是字符串常量,不可以被更改,替换后的字符串只是在内存中开辟了一个空间,并没有指向某个变量,所以用第二种写法将引用指向某个变量就好了
String s = "尊敬的${UserName}用户";
String userName = "zxd";
String replace = s.replace("${UserName}", userName);
System.out.println(replace);// TODO Auto-generated method stub
}
jdk5和6都可以!lz主要想干什么?
String userName="zxd";
s.replace(${UserName}, userName);
System.out.println(s);
当然 要把引号去了,~~~