字符串替换----简单
admin 发布于:2010-12-06 15:17:00
阅读:loading
1、有一字符串
,将字符串里面的 java(不区分大小写),一律转换成 JAVA大写的。
实现方式用正则,如下:
输出结果 is OK!
2、有一字符串同上,将第单数个含有java(不区分大小写)的替换成小写的java,第双数个java(不区分大小写)替换成大写的JAVA,实现方式如下:
1)、首先将所有匹配java(不区分大小写)的字符匹配出来,然后再找到当前匹配出的是第N数个,还是第2N个,然后再替换,常规方法如下:
需要注意的是,这样的写法是存在问题的,因为String类的replace();会先替换字符串,然后正则再往后找,以后再找的字符串,至于上面的为什么没有出现问题,仔细观察,很容易发现,是因为所有的java字符(不区分大小写)之间没有重复的,也就是说不存在这样Java、Java或JAVa、JAVa这样的重复匹配的字符,所以说这样的写法是不可取的,没有写重复的字符其实就是一陷阱。
2)、解决这种问题的方式是正则里面的
appendReplacement(StringBuffer sb, String replacement)
实现非终端添加和替换步骤。
appendTail(StringBuffer sb)
实现终端添加和替换步骤。这2个函数。
详细如下:
此时解决了2-1中的问题
点赞
发表评论
当前回复:作者