📜  Groovy-字符串(1)

📅  最后修改于: 2023-12-03 14:41:39.205000             🧑  作者: Mango

Groovy字符串

1. 简介

Groovy提供了强大的字符串操作功能。与Java相比,Groovy的字符串可以使用单引号、双引号、三引号等多种形式,并且支持字符串插值和字符串模板等高级特性。

2. 字符串表达式
2.1 单引号和双引号

和Java一样,Groovy也支持单引号字符串和双引号字符串。其中,单引号字符串不支持字符串插值,而双引号字符串支持。

示例代码:

def name = 'John'
println('Hello, ' + name + '!') // Hello, John!
println("Hello, $name!") // Hello, John!
2.2 三引号

Groovy还支持使用三个单引号或双引号来定义多行字符串。三引号字符串中可以包含单引号和双引号,并且不需要转义。另外,三引号字符串还支持字符串插值和字符串模板。

示例代码:

def str = '''Hello,
             World!'''
println(str)

def name = 'John'
def tmpl = """Hello,
              ${name.toUpperCase()}!"""
println(tmpl)

输出结果:

Hello,
             World!
Hello,
              JOHN!
2.3 斜杠

在Groovy中,斜杠(/)不仅可以用作正则表达式的分隔符,还可以用作字符串的分隔符。如下是使用斜杠定义字符串的示例代码:

def str = /Hello, World!/
println(str)

输出结果:

Hello, World!
3. 字符串操作

Groovy提供了一些实用的字符串操作方法。下面列出常用的方法:

3.1 toUpperCase()toLowerCase()

将字符串转换为全大写或全小写形式。

示例代码:

def str = 'Hello, World!'
println(str.toUpperCase()) // HELLO, WORLD!
println(str.toLowerCase()) // hello, world!
3.2 trim()

去掉字符串两端的空格。

示例代码:

def str = '   Hello, World!   '
println(str.trim()) // Hello, World!
3.3 substring()

截取字符串的一部分。

示例代码:

def str = 'Hello, World!'
println(str.substring(7)) // World!
println(str.substring(0, 5)) // Hello
3.4 split()

将字符串按指定的分隔符切割成数组。

示例代码:

def str = 'Hello, World!'
def arr = str.split(', ')
println(arr) // [Hello, World!]
3.5 join()

将字符串数组按指定的分隔符拼接成字符串。

示例代码:

def arr = ['Hello', 'World']
def str = arr.join(', ')
println(str) // Hello, World
4. 字符串插值和字符串模板

Groovy的字符串插值和字符串模板是两个非常强大的特性。

4.1 字符串插值

在双引号字符串中,可以通过${表达式}来插入表达式的结果。表达式可以是变量、方法调用、算术表达式等等。

示例代码:

def name = 'John'
def str = "Hello, ${name.toUpperCase()}!"
println(str) // Hello, JOHN!
4.2 字符串模板

在三引号字符串中,可以通过${表达式}来插入表达式的结果,并且可以在表达式周围使用任意字符串。

示例代码:

def name = 'John'
def tmpl = """Hello,
              <% if (name.length() > 5) { %>
              ${name.toUpperCase()}!
              <% } else { %>
              ${name}!
              <% } %>"""
println(tmpl) // Hello,
              // John!

在上面的示例代码中,我们使用<% ... %>来包含Groovy代码块,然后在模板字符串中使用${表达式}来插入表达式的结果。

5. 字符串转义

Groovy中的字符串转义和Java类似,需要使用反斜杠(\)作为转义符。

示例代码:

def str = 'Hello, \'John\'!'
println(str) // Hello, 'John'!

在上面的示例代码中,我们使用反斜杠来转义单引号。

6. 总结

Groovy的字符串支持多种形式,可以通过字符串插值和字符串模板来实现格式化输出,同时还提供了一些实用的字符串操作方法,使字符串处理更加方便和高效。