占位符完整格式:
%[index$][标识]*[最小宽度][.精度]转换符
- %:占位符的起始字符
- [index$]:位置索引,从1开始计算,指定索引相应的实参进行格式化并替换掉该占位符
- [标识]:用于增强格式化能力,可同时使用多个[标识],但某些标识是不能同时使用的
- [最小宽度]:设置格式化后的字符串最小长度,若使用[最小宽度]而无设置[标识],那么当字符串长度小于最小宽度时,则以左边补空格的方式凑够最小宽度
- [.精度]:对于浮点数类型格式化使用,设置保留小数点后多少位
- 转换符:用于指定格式化的样式,和限制对应入参的数据类型
示例:
多个占位符:
<string name="data">姓名:%1$s,年龄:%2$d,身高:%3$f,体重:%4$.2f</string>
String.format(activity.getResources().getString(R.string.data), "张三",30, 175.5f, 75.25f))
单个占位符:可缩写
<string name="data">截止目前你已经消费了人民币%s元</string>
String.format(activity.getResources().getString(R.string.data),"100"));
有时候会用string存放一个网址,应该会用到一下的字符
比如:baidu.com?id=abcd&type=1
<string name="data">baidu.com?id=%1$s&type=%2$d</string>
&:&
<:<
>:>
:"