字符串替换之正则替换
我想对于Java程序员而言,字符串替换肯定都是很熟悉的了,今天在工作中也遇到一个字符串替换的问题,可是一时之间竟然无从下手,顿时觉得基础没打好啊,这里记录一下,供需要的人学习一下。 需求描述:有个字符串变量,如“2018年的春节是哪一天?”,然后需要判断这个字符串中是否有年份的数字,如果有,那么就在这个年份的前面加上一个特殊的字符串(如[n1][y1])。 这样的需求该如何实现呢? 经过了思考和尝试后,发现原来在Java的String类中原来还有一种用法,是我之前所没有使用过的。代码如下: String tips = "2018年的春节是哪一天?"; String yearPrefix = "[n1][y1]"; tips = tips.replaceAll("(d{4})",yearPrefix+"$1")); 经过上面的处理后,我们就可以轻松的将"2018年的春节是哪一天?"变换为“[n1][y1]2018年的春节是哪一天?”。 这里需要注意的是:在字符串替换的时候使用到了分组,必须"(d{4})"这么写,而不能"d{4}",这是需要大家注意的地方。如果需要替换的地方是多个,如下所示: String date = "09-10-1"; String result = date.replaceAll("(d{2})-(d{2})-(d{1})","20${1}-${2}-0${3}") 上面就可以将"09-10-1"转换为"2009-10-01"了。看到这里,大家是不是又学会了一个小知识点。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |