Groovy Tip 10 Groovy语言对String的简化操作

           Groovy Tip 10 Groovy语言对String的简化操作
 
在Groovy语言中,对String对象的操作就像操作List对象一样的方便。比如我们在Java语言中,对String对象的操作用得比较多的是substring方法。如下:
       String str = "abcdefg" ;
      
    System. out .println(str.substring(1,3));
 
结果为:
bc
 
这里有两点不便:一是 substring 方法和参数的繁琐;二是它的最后一个参数,比如 substring(1,3) 得到的结果不是 str 对象的第一位到第三位,而是第二位。这和我们的直觉不符,常常导致我们出错。
而在 Groovy 语言里,上面的代码被改造为下面的样子:
      def str = 'abcdefg'
     
  println str[ 1 .. 2 ]
 
结果为:
bc
 
看到了吧,像数组一样操作 String 对象, str[1..2] 得到的就是第一位到第二位的值,符合我们的习惯。
当然,你还可以取 String 对象中的任意字符:
      def str = 'abcdefg'
     
  println str[ 1 , 3 , 5 ]
 
结果是:
bdf
 
很棒吧!
既然操作 String 对象就像操作 List 对象一样,那么 List 类的一些方法如 each String 对象就可以直接拿来使用了。
      def str = 'abcdefg'
     
     str. each {
         print it
         print ','
 }
 
结果为:
a,b,c,d,e,f,g,
 
      def str = 'abcdefg'
     
  println str.contains( 'd' )
 
结果为:
true
 
等等。其他方法,如“ find ”、“ findAll ”、“ every ”、“ any ”等方法都可以在 String 对象中使用。
如果你不喜欢 str 对象后面的“ fg ”两个字符,想把他们从 str 对象中删掉,在 Java 语言中,你必须这样做:
       String str = "abcdefg" ;
      
       str = str.substring(0,5);
      
    System. out .println(str);
 
而在 Groovy 语言中,你可以这样做:
      def str = 'abcdefg'
     
     str = str- 'fg'
     
  println str
 
当然,你也可以把 str 对象中的“ ab ”减去:
      def str = 'abcdefg'
     
     str = str- 'ab'
     
  println str
 
结果为:
cdefg
 
如果在 str 对象中减去“ st ”呢:
      def str = 'abcdefg'
     
     str = str- 'st'
     
  println str
 
结果为:
abcdefg
 
如果在 str 对象中减去“ be ”呢:
      def str = 'abcdefg'
     
     str = str- 'be'
     
  println str
 
结果为:
abcdefg
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值