字符串定义:
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在语法上向后兼容Java,Groovy字符串可以在Java环境中无缝使用,同时也支持在Groovy中使用Java类库和对象。 9. **GString和String的哈希码** 当字符串是GString时,它的哈希码可能与等效的String对象的...
本入门实例代码详细地涵盖了Groovy的一些核心概念和常用特性,包括字符串操作、Map的使用以及闭包等。 1. **字符串操作**: - Groovy中的字符串可以是单引号或双引号包裹的。双引号中的变量可以直接展开,单引号则...
本篇文章将深入探讨Groovy中的`split()`和`tokenize()`两个方法,它们都用于将字符串分解成多个部分,但各有特点和适用场景。 `split()`方法是Java中的标准方法,也被Groovy继承,用于按照指定的分隔符将字符串拆分...
在Groovy中,Map的键可以是任意类型,但通常我们使用字符串。声明Map时,可以省略字符串引号,例如`["a":1]`与`[a:1]`是等价的,前提是`a`不是Groovy的关键字且符合标识符规则。然而,如果键是一个变量,如`def x = ...
4. 字符串连接符:可以使用 + 号连接字符串,也可以使用三个 “” 号连接字符串。 5. 一切皆对象:Groovy 对于对象是什么类型并不关心,一个变量的类型在运行中随时可以改变。 Groovy 的优点 1. 简洁的语法:...
Groovy还引入了GString,这是一种可变字符串,允许在字符串中嵌入表达式,如`${expression}`。此外,Groovy的运算符重载和元编程能力使代码更加简洁和动态。 在安装GroovyEclipse插件后,开发者可以通过Eclipse的...
Groovy支持字符串插值功能,可以在字符串中直接嵌入变量和表达式,这使得构建动态字符串更为方便。 正则表达式: Groovy内置了对正则表达式的支持,提供了大量的方法来匹配、查找和替换字符串中的模式。 异常处理...
通过了解这些基础知识,你可以更有效地在Groovy代码中运用正则表达式,进行字符串的查找、替换和验证等操作。对于自动化构建工具Gradle的配置,理解正则表达式可以帮助你更好地处理构建脚本中的文本处理需求。
在字符串处理方面,Groovy引入了GString,这种字符串可以包含表达式,能够在运行时被评估。同时,Groovy还引入了对正则表达式的支持,使得文本模式匹配和处理更加方便。 在集合类型方面,Groovy支持使用范围...
4. **字符串连接**:Groovy支持使用`+`连接字符串,或者使用三引号(`"""`)创建多行字符串,其中的空白字符会被保留。 Groovy的动态特性意味着一切皆对象,包括基本类型。例如,整数在Groovy中也是对象,可以调用其...
Groovy中的字符串处理非常强大,支持多种格式,包括普通的双引号字符串、单引号字符串、GString以及正则表达式字符串。其中,GString是Groovy特有的,允许在字符串中嵌入变量和表达式,极大地简化了字符串操作。此外...
5. **字符串操作**:`string_01.groovy` 可能包含了字符串处理的示例,Groovy的字符串支持模板化、拼接、替换等多种操作,比Java更为灵活。 6. **输入/输出**:`input_03.groovy` 可能涉及到了标准输入输出或文件...
4. GString:类似于Java的字符串,但支持占位符表达式,使字符串操作更便捷。 5. 链式调用:对象属性和方法可以连续调用,如`object.property.method()`,增强了代码的可读性。 三、领域应用 1. 脚本和自动化:...
当使用双引号时,可以在字符串内嵌入一些运算式,Groovy 允许您使用与 bash 类似的 ${expression} 语法进行替换。可以在字符串中包含任意的 Groovy 表达式。 大块文本 如果有一大块文本(例如 HTML 和 XML)不想...
在Android开发中,数据交换和持久化经常涉及到实体类(Entity Class)与JSON字符串之间的转换。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。实体...
- **GString**:Groovy中的字符串可以使用`${expression}`内嵌表达式,例如`"Hello, ${name}"`。 - **方法默认参数和命名参数**:Groovy允许方法定义默认参数值,并通过键值对的方式调用方法。 - **元编程**:...
- 字符串(Strings):Groovy提供了多种字符串字面量,包括单引号字符串、三单引号字符串、双引号字符串以及它们的插值、转义和Unicode序列等。 - 数字(Numbers):Groovy支持整数、二进制、八进制、十六进制和十...