JAVA字符串占位符替换问题

kevin_hw 2010-10-20 11:01:59
如果有字符串 “我是{0},我来自{1},今年{2}岁。 请问怎样用String的内置方法怎样用参数替换掉字符串的占位符:比如“我是中国人,我来自北京,今年22岁”。 谢谢各位。
...全文
1206 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
softroad 2010-10-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 closewbq 的回复:]

API有的。

果哥提醒了下!
1.String str = MessageFormat.format("我是{0},我来自{1},今年{2}岁", "中国人", "北京", "22");

2.String[] arr={"中国人", "北京", "22");
String str = MessageFormat.format("我是{0},我来自{1},今年{2}岁",arr);……
[/Quote]

恩,比我的方法好,学习了。
closewbq 2010-10-20
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xuyang840117 的回复:]
引用 4 楼 closewbq 的回复:
API有的。

果哥提醒了下!
1.String str = MessageFormat.format("我是{0},我来自{1},今年{2}岁", "中国人", "北京", "22");

2.String[] arr={"中国人", "北京", "22");
String str = MessageFormat.format("我是{0}……
[/Quote]
汗,就今天闲了一会!
xuyang840117 2010-10-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 closewbq 的回复:]
API有的。

果哥提醒了下!
1.String str = MessageFormat.format("我是{0},我来自{1},今年{2}岁", "中国人", "北京", "22");

2.String[] arr={"中国人", "北京", "22");
String str = MessageFormat.format("我是{0},我来自{1},今年{2}岁",arr);
……
[/Quote]


无处不在你的身影啊 小武
closewbq 2010-10-20
  • 打赏
  • 举报
回复
API有的。

果哥提醒了下!
1.String str = MessageFormat.format("我是{0},我来自{1},今年{2}岁", "中国人", "北京", "22");

2.String[] arr={"中国人", "北京", "22");
String str = MessageFormat.format("我是{0},我来自{1},今年{2}岁",arr);
都可以的

softroad 2010-10-20
  • 打赏
  • 举报
回复

String str="我是%1$s,我来自%2$s,今年%3$s岁";
System.err.println(String.format(str, "中国人", "北京", "22"));

用法可以参考java.util.Formatter, {0}这种参数类型需要自己写代码来处理,或者用replace函数。
kebin0001 2010-10-20
  • 打赏
  • 举报
回复
複雜的用這個 String Template
簡單的就寫一個class
例如
public class MyTemplate{
private String t1 = "我是";
private String t2 = ",我来自";
private String t3 = ",今年";
private String t4 = "岁。";
public static getString(String name, String adr, int age){
StringBuilder sb = new StringBuilder();
sb.append(t1).append(name).append(t2).append(nadr).append(t3).append(age).append(t4);
return sb.getString();
}
}
zn85600301 2010-10-20
  • 打赏
  • 举报
回复
String str="我是{0},我来自{1},今年{2}岁";
str = str.replace("{0}", "中国人");
str = str.replace("{1}", "北京");
str = str.replace("{2}", "22");
System.out.println(str);
不知道这么能满足要求不?
干嘛2个地方都发帖···

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧