`

Groovy字符串很groovy

阅读更多
字符串定义:
1.''  //一般字符串,不解析表达式
eg:
def mess = 'Hello.'
'I say ${mess}'  //Result: "I say ${mess}"
2.""  //一般字符串,解析表达式
eg:
def mess = 'Hello.'
"I say ${mess}"  //Result: "I say Hello."
3.
'''
'''和
"""
"""  //段落字符,单引号不解析表达式,双引号解析表达式
eg:
def sqlQuery = '''
    SELECT id
    FROM table
    WHERE 1=1
'''

字符串索引:
def mess = 'Hello World'
mess[2..7]    //Result: "llo Wo"
mess[2..<7]   //Result: "llo W"
mess[2]       //Result: "l"
mess[2,6]     //Result: "lW"

字符串操作:
mess - 'rld'    //Result: "Hello Wo"
mess*3          //Result: "Hello WorldHello WorldHello World"
'?'*5           //Result: "?????"
mess << ' Yeah' //Result: Hello World Yeah

字符串方法(部分方法):
def mess = 'Hello World'
mess.count('o')       //Result: 2;计算指定字符出现次数
mess.size()           //Result: 11;和length()方法一样
mess.length()         //Result: 11
mess.contains('orl')  //Result: true
mess.center(18)       //Result: "   Hello World    ";如果字符数量小于指定参数,则两边补空格
mess.center(18,'*')   //Result: "***Hello World****";如果字符数量小于指定参数,则两边补第二个参数
mess.reverse()        //Result: "dlroW olleH"
'Hello'.toList()      //Result: ["H", "e", "l", "l", "o"]
mess.padLeft(15)      //Result: "    Hello World"
mess.padLeft(15,'#')  //Result: "####Hello World"
mess.padRight(15)     //Result: "Hello World    "
mess.padRight(15,'#') //Result: "Hello World####"
mess.getAt(2..5)      //Result: "llo "
mess.getAt([2,6])     //Result: "lW"

字符串比较:
'abc' == 'abc'          //Result: true;比较值是否相等
'abc' <=> 'abc'         //Result: 0;和
'abc' <=> 'abf'         //Result: -1
'abc' <=> 'Abf'         //Result: 1
'abc'.compareTo('abc')  //Result: 0
'abc'.compareTo('abf')  //Result: -3
'abc'.compareTo('Abf')  //Result: 32

find方法,支持表达式:
def s = 'abcdefg'
s.find('bc.?') //bcd
s.find('bc.*') //bcdefg
s.find('bc.*e') //bcde

正则表达式:
使用=~ 'regex’表示正则表达式
'abc' ==~ '^.?bc'  //Result: true
分享到:
评论

相关推荐

    Groovy语法系列教程之字符串(三).pdf

    本系列教程介绍Groovy编程语言的语法。Groovy的语法源自Java语法,但是通过特定类型对其进行了增强,并允许进行某些简化。

    Jenkins高级篇之Pipeline实践篇-2-groovy中字符串操作split()和tokenize()区别.rar

    Jenkins高级篇之Pipeline实践篇-2-groovy中字符串操作split()和tokenize()区别.rar

    groovy入门实例代码详细(包括字符串,map,闭包等等)

    这个代码包是老师上课给我们的,感觉对于初学者来说非常实用,里面包含了基本语法,包括字符串,整数,小数,数组,闭包等待,让你快速入门

    Groovy 入门学习

    适合想了解groovy 编程开发的人员 Groovy - hellworld Groovy - 变量 Groovy - 静态import Groovy - 字符串 Groovy - 分支结构语句 Groovy - 循环结构语句

    Groovy学习笔记

    Groovy学习笔记,内容如下: 1.概念 2.基本语法 3.字符串 4.集合 5.类和闭包 6.控制语句 7.操作符重载 8.I/O操作 9.高级应用 10.正则表达式

    groovy正则表达式使用1

    Groovy正则表达式使用 // 定义正则表达式,里面的特殊字符会自动转义~// 定义正则表达式,会将字符串编译成Pattern=~ 将左边的字符串局部匹配右边

    groovy学习笔记

    第1章 数字和字符串 第2章 List的简单介绍 第3章 String的特殊用法 第4章 闭包 第5章 集合+闭包 第6章 Map和Range 第7章 函数

    groovy将JDBC中oracle存储过程游标转换为多层json

    入参是字符串格式的xml,目的是解析xml节点值,作为数据库检索where条件,检索出数据库记录,利用四个游标返回四个数据集,然后用groovy脚本将四个游标数据集解析成json出参中对应的四个节点值。出参json有两层结构...

    lang-groovy-2.0.0-final.zip

    Syntaxe.zip,注释驱动的java域模型语法和语义验证java域模型的语法和语义对象验证框架。默认情况下支持Requiredness、Min、Max和Length检查,并能够...还包括跨站点脚本(XSS)缓解注释,用于对字符串字段进行编码。

    loco-android:这是一个gradle插件,用于轻松更新Loco上管理的文本字符串

    本地android :Japan: :South_Korea: :Germany: :China: :United_States: :France: :Spain: :Italy: :Russia: :United_Kingdom: 这是一个gradle插件,用于轻松更新在Loco(localise.biz)上管理的文本字符串。...

    performanceTestOfStringManipulation:字符串操作的性能测试

    一次性计时,您的里程可能会有所不同,“-server -Xmx2g -Xms2g”: 方法 迭代 时髦 静态编译 Java 8的 stringBufferExample 100000 475毫秒 495毫秒 ...stringBuffer2Example ...stringBuffer2Exampl

    js中的正则表达式入门(大量实例代码)

    正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子串、将匹配的子串做替换或者从某个字符串中取出符合某个条件的子串等。 先科普一下基本的知识  js中使用正则...

    docgen-issue:显示 codetrans 引用问题

    用于 codetrans 问题的复制器项目,当使用带有 \u 转义值的字符串时,由 codetrans 为 js 和 groovy 生成的文件在源中具有未加引号的字符串表示。 这会导致 asciidoctor 中的解析错误与无效的 utf8 序列或在文件中...

    Grails权威指南

     2.2.3 groovy字符串  2.2.4 闭包(closures)  2.2.5 列表(list)和映射(map)  2.2.6 expando动态对象  2.2.7 范围(range)  2.3 groovy的高级特性  2.3.1 一切都是对象  2.3.2 ...

    java开源包7

    GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet....

    lecharny-challenge:莱查尼挑战

    给定一个输入字符串 用空字符串替换 `\r\n `、`\n\r `、`\r ` 或 `\n ` 的所有序列 算法必须在 JVM 中运行。 执行基准 ./gradlew jmh 正确性 存储库的当前版本不检查算法的正确性。 已经提出了一些不正确的建议! ...

    Grails 技术精解与Web开发实践【源码+样章】----下载不扣分,回帖加1分,欢迎下载,童叟无欺

    3.1.1 字符串 21 3.1.2 数字 22 3.1.3 Groovy的类 23 3.1.4 运算符 24 3.2 Groovy的控制结构 25 3.3 Groovy的集合 27 3.3.1 列表 27 3.3.2 映射 28 3.3.3 区间 29 3.4 Groovy的闭包 30 3.4.1 闭包的定义 30 ...

    pomx:扩展的Maven POM文件格式

    有很多关于太冗长的抱怨。 Maven开发人员听了并开始使用来解决此问题。 它们支持Groovy,Scala,Ruby,Yaml或其他文件格式,它们可能对某些人有用,但是我不认为XML是问题所在,因此不能保证其他文件格式可以治愈。 ...

    talks2015-jdd-ratpack-the-core-for-your-microservices-setup

    01-date-server-simple文件夹包含简单但功能齐全的Groovy脚本,该脚本运行Ratpack应用程序,该应用程序使用当前日期字符串响应HTTP GET请求。 要运行该示例,只需在01-date-server-simple目录中键入以下命令: ...

    micronaut-mongo-gorm-example:一项微不足道的测试,以显示Micronaut使用GORM与MongoDB进行对话

    如果我使用String作为id属性的类型,GORM将为其分配UUID的字符串版本。 它将能够使用这些字符串值读取和写入实体。 在MongoDB内部查看, _id属性将是一个字符串值。 但是,如果我使用MongoDB在集合中插入一个新文档...

Global site tag (gtag.js) - Google Analytics