一 学习思路
备注: 这个是'重点',DSL经常要'处理字符串'
1)演示'常用的' -->注意细节-->'入参'、'返回值'
2)不常用的'罗列'出来,方便查询
3)对比'其它语言',差异性学习
4)字符串关于'正则'的后续讲解
二 各个击破
① 统计
备注: python的count()方法与groovy的'有差异'
python: 下面的结果是'2'
② 字符串拼接
1) print 'abc' + 'def' //字符串拼接
2) str.concat('hello') //拼接
③ 字符串判断
特点: 返回值类型都是'boolean',可以做'逻辑判断'
④ 字符串比较
1)str.compareTo('hello')//字符串比较
2)str.compareToIgnoreCase()//忽略大小写比较
3)str.equalsIgnoreCse('hello')//忽略大小写比较-->'boolean'
④ 字符串截取
小技巧1: 可以通过'范围'运算符'..'来截断
小技巧2: 通过'slice'截断
⑤ 大小写转换
1. s.to'Upper'Case()//'小写'全部转换成'大写'
2. s.to'Lower'Case()//'小写'转换
⑥ 字符串填充
注意: number是'预计'的'总字符数目'
说明: 居中填充、'左'填充、'右'填充
⑦ 字符串去空格
备注: 去掉空格,只有这一种去掉'两端'的空格
⑧ 字符串转化
s.reverse() //反转
s.toList() //转换成'列表'
⑨ 字符串分割
⑩ 字符串替换
⑪ 正则匹配
备注: 返回值是'boolean'类型
1)split()得到结果是一个'字符串数组',tokenise()得到结果'是一个List'
2)split()得到结果允许'保留空字符串',tokenize()得到结果是List,'不会保留空字符串'
场景:需要遍历切割之后结果集,如果'元素为空',调用有些方法可能'存在空指针'
最佳实践: 特别是在Java语言中,'出于这个考虑',大部分情况下'使用tokenize()'来进行字符串切割
3)tokenize()默认'每一个字符'都切割出来,而split()会一个'单词切割'出来
4)split()中分隔符'可以使用正则',但是tokenize()'不支持'正则