`
李丹.杭州
  • 浏览: 15792 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

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
分享到:
评论

相关推荐

    Groovy Tip 21 魔幻数组 一

    在探索Groovy语言的魅力时,我们不得不提及它对集合类型处理的独特之处。作为一款旨在提升开发效率与代码可读性的语言,Groovy在数组和列表对象上的操作展现出了令人赞叹的灵活性与便捷性。本篇聚焦于Groovy中的数组...

    Groovy入门教程[参照].pdf

    Groovy 是一种基于 Java 语言的脚本语言,运行在 JVM 中,语法与 Java 相似,但抛弃了 Java 的一些烦琐的语法规则,提供了更加简洁和灵活的编程体验。 Groovy 的特点 1. 简洁的语法:Groovy 语法简洁,减少了代码...

    Groovy应用(基本操作)

    列表可以通过下标访问,映射则通过键值对操作: ```groovy List list = [1, 2, 3] Map map = [key1: 'value1', key2: 'value2'] println list[0] // 输出:1 println map.key1 // 输出:value1 ``` 4. **...

    groovy-2.3.6-installer

    Groovy是一种动态、开源的编程语言,它是Java平台上的一个JVM(Java Virtual Machine)语言。Groovy结合了Python、Ruby和Perl等脚本语言的简洁性和灵活性,并且完全兼容Java,可以无缝地与Java代码集成。在"groovy-...

    精通 Groovy--下一代开发语言

    Groovy 是 JVM 的一个替代语言 — 替代 是指可以用 Groovy 在 Java 平台上进行 Java 编程,使用方式基本与使用 Java 代码的方式相同。在编写新应用程序时,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有...

    groovy脚本实现对数据库的增删改查

    在“groovy脚本实现对数据库的增删改查”这个主题中,我们将深入探讨如何使用Groovy来执行常见的数据库操作。首先,我们需要连接到数据库。在Groovy中,我们可以利用JDBC(Java Database Connectivity)API来实现这...

    java 动态脚本语言 精通 Groovy

    10. **持续集成与构建工具**:Groovy也是构建工具如Gradle的首选语言,Gradle以其强大的插件系统和灵活的构建脚本闻名。 学习和精通Groovy能帮助Java开发者提高生产力,编写更加简洁、高效的代码,并能更好地利用...

    Java中使用Groovy的三种方式

    在Java开发中,Groovy是一种强大的、动态类型的脚本语言,它可以无缝地与Java代码集成,为开发者提供了更简洁、灵活的语法。本文将深入探讨在Java项目中使用Groovy的三种主要方式,并阐述它们各自的优势和应用场景。...

    groovy速查手册

    Groovy是一种动态语言,旨在简化开发过程的同时保持与Java的高度兼容性。它不仅适用于脚本编写,还可以用于构建复杂的应用程序。通过上述介绍,我们了解了Groovy的一些基本特性和使用方法,这对于初学者来说是非常...

    groovy-sdk-4.0.3

    Groovy SDK 4.0.3 是一个针对Groovy编程语言的软件开发工具包,它包含了Groovy语言的运行环境和开发所需的各种组件。Groovy是一种动态、灵活的面向对象编程语言,它与Java语法兼容,但提供了更简洁的语法和更强的...

    用Groovy实现DSL领域定义语言

    在groovy中实现DSL领域特定语言的技术。 版权声明: 本系列文章是从原著《Groovy For Domain-Specific Languages》(原作者: Fergal Dearle)中翻译而来,从中加入了一些本人自己的读书笔记和理解。本系列文章不为...

    groovy in action 中文版 2017.11

    文档最后对Groovy语言进行了整体的概述,强调了Groovy是一种强大、高效且富有表达力的编程语言,适合多种不同的开发场景和开发人员群体,从简单的脚本任务到复杂的系统开发,Groovy都能够胜任。文档还提供了一些基本...

    Java调用Groovy,实时动态加载数据库groovy脚本

    - **测试与隔离**:Groovy脚本可以作为独立的模块进行测试,避免了对Java代码的影响。 总的来说,Java调用Groovy并实时加载数据库中的Groovy脚本是一种强大而灵活的解决方案,特别适用于需要频繁调整业务逻辑或进行...

    groovy入门经典,groovyeclipse 插件

    它为Eclipse IDE带来了对Groovy语言的全面支持,包括语法高亮、代码提示、自动完成、调试器和构建工具。通过GroovyEclipse,开发者可以在Eclipse环境中舒适地编写、测试和运行Groovy代码,提高开发效率。 入门...

    Groovy Script 入门

    Groovy是一种灵活的面向对象的编程语言,它运行在Java平台上。由于其语法简洁且与Java高度兼容,因此对于Java开发者来说非常容易上手。Groovy不仅支持传统的面向对象编程特性,还融合了函数式编程和元编程的特性,这...

    apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本

    apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望大家多多下载,apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望大家多多下载,apache-groovy-3.0.8.zip apache官网的groovy3.0.8版本,希望...

    groovy

    Groovy是一种基于Java平台的、动态的、强大的编程语言,它设计的目标是增强开发者的生产力。Groovy结合了Java的静态类型系统和Python、Ruby等动态语言的灵活性,使得开发者可以更加高效地编写代码。本篇文章将深入...

Global site tag (gtag.js) - Google Analytics