Replace字符串,动态引用strings.xml
来源:互联网 发布:建筑结构优化设计 编辑:程序博客网 时间:2024/06/15 01:47
题目:
例如,有一个字符串”abcdefg”
现在的要求是把”abc”变成”efg”
把”efg”变成”xyz”
怎么搞?
即目标串为:”efgdxyz”
(PS:replaceAll会导致同步问题,就是说”abc”变成”efg”后,立刻又变成的”xyz”)
一,使用正则
static void replace() { Pattern p = Pattern.compile("abc|efg"); Matcher m = p.matcher("abcdefg"); StringBuffer sb = new StringBuffer(); while (m.find()) { if(m.group().equals("abc")) m.appendReplacement(sb, "efg"); else if(m.group().equals("efg")) m.appendReplacement(sb, "xyz"); } m.appendTail(sb); System.out.println(sb.toString()); }
二,直接replaceAll
"abcdefg".replaceAll("efg", "xyz").replaceAll("abc", "efg");
项目中 机器人设置昵称,文本中用到机器人昵称,需要动态引用,台词位于strings.xml资源文件,用上述方法是可以的,步骤如下:
1,strings.xml资源文件中涉及需要随时修改的名字替换成符号,如“[robotName]”
2,代码中符号替换位名字,其中robotName为拿到的用户设置的名字,在机器人speak(用于说话方法)中调用str=replaceRobotName(str);
private static String replaceRobotName(String str) { if (TextUtils.isEmpty(str)) return ""; return str.replaceAll("\\[robotName]", robotName); }
另一种方法就是:
<string name="data">整数型:%1$d,浮点型:%2$.2f,字符串:%3$s</string>
其中%后面是占位符的位置,从1开始,
$ 后面是填充数据的类型 %d:表示整数型; %f :表示浮点型,其中f前面的.2 表示小数的位数 %c:表示字符串
这些和C语言中输入输出函数的占位符很相似
在程序中我们可以通过下面的代码对字符串进行格式化,也就是填充占位符中的内容:
String data = getResources().getString(R.string.data);
data = String.format(data, 100, 10.3, “2011-07-01”);
最后运行结果如下:
参考博客http://blog.csdn.net/glony/article/details/6680396
0 0
- Replace字符串,动态引用strings.xml
- Android动态修改strings.xml中字符串占位符内容
- 引用strings.xml的文字
- 引用strings.xml特殊格式的资源
- strings.xml中定义字符串的使用方法
- strings.xml
- strings.xml
- strings.xml
- 修改Android中strings.xml文件, 动态改变数据
- 动态修改android中strings.xml中的value值
- 修改Android中strings.xml文件, 动态改变数据
- 修改Android中strings.xml文件, 动态改变数据
- 修改Android中strings.xml文件, 动态改变数据
- 动态修改strings.xml中的值及获取app版本号
- Android strings.xml文件定义字符串中的标签
- [android]在程序代码中获取strings.xml中的字符串值
- Android strings.xml中定义字符串显示空格
- Android Studio轻松将零散字符串整理到strings.xml
- CFNetwork编程指南(三)——与HTTP服务器通信(Communicating with HTTP Servers)
- Jmeter压测数据库
- react更改原数据再触发action,不会触发重新渲染
- 算法学习笔记之一阶低通滤波算法
- MPChart折线图工具类封装
- Replace字符串,动态引用strings.xml
- 符号不变 单词内部反转
- ButterKnife 8.1.0 空指针
- Qt读取苹果系统OSX上的plist资源文件
- Python opencv库教程
- web前端学习2016.9.26
- ajax原函数和各个常用参数列表
- 第四周 项目2-建立“单链表”算法库
- codevs 2645 Spore