Groovy 学习之八:字符串

本文介绍了Groovy中字符串的创建和使用,包括单引号、双引号和三引号的使用,以及字符串的索引、连接、重复、长度等基本操作。还详细讲解了Groovy的center()、compareToIgnoreCase()、concat()、eachMatch()、endsWith()等字符串方法的使用,帮助读者深入理解Groovy字符串处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通过在引号中包含字符串文本,在Groovy 中构造一个字符串文字。

Groovy 提供了多种表示String 字面量的方法。 Groovy 中的字符串可以用单引号('),双引号(“)或三引号(”“”)括起来。此外,由三重引号括起来的Groovy字符串可以跨越多行。

以下是Groovy中字符串使用的示例:

class Example { 
   static void main(String[] args) { 
      String a = 'Hello Single'; 
      String b = "Hello Double"; 
      String c = "'Hello Triple" + "Multiple lines'";
		
      println(a); 
      println(b); 
      println(c); 
   } 
}

当我们运行上面的程序,我们将得到以下结果:

Hello Single 
Hello Double 
'Hello TripleMultiple lines'

1、字符串索引

Groovy 中的字符串是字符的有序序列。字符串中的单个字符可以通过其位置访问。这由索引位置给出。

字符串索引从零开始,以小于字符串长度的一个结束。 Groovy 还允许负索引从字符串的末尾开始计数。

以下是Groovy中字符串索引的使用示例:

class Example { 
   static void main(String[] args) { 
      String sample = "Hello world"; 
      println(sample[4]); // Print the 5 character in the string
		
      //Print the 1st character in the string starting from the back 
      println(sample[-1]); 
      println(sample[1..2]);//Prints a string starting from Index 1 to 2 
      println(sample[4..2]);//Prints a string starting from Index 4 back to 2 
      
   } 
}

当我们运行上面的程序,我们将得到以下结果:

o 
d 
el 
oll

2、基本字符串操作

首先让我们学习groovy 中的基本字符串操作。它们在下面给出:

序号字符串操作和描述
1Concatenation of two strings

字符串的串联可以通过简单的'+'运算符来完成。

2

String Repetition

字符串的重复可以通过简单的'*'运算符完成。

3

String Length

由字符串的length()方法确定的字符串的长度。

(1)Groovy 字符串连接

语法:字符串的串联可以通过简单的\'+\'运算符来完成。

String+String

参数:参数将为2个字符串作为& plus;的左右操作数。 运算符。

返回值:返回值是一个字符串。

以下是Groovy中字符串连接的示例。

class Example {
   static void main(String[] args) {
      String a = "Hello";
      String b = "World";
		
      println("Hello" + "World");
      println(a + b);
   }
}

当我们运行上面的程序,我们将得到以下结果:

HelloWorld
HelloWorld

(2)Groovy 字符串重复

语法:字符串的重复可以通过简单的\'*\'运算符完成。

String*number 

参数

  • 一个字符串作为*操作符的左操作数
  • 操作符右侧的数字,表示字符串需要重复的次数。

返回值:返回值是一个字符串。

以下是Groovy中字符串的使用示例:

class Example { 
   static void main(String[] args) { 
      String a = "Hello"; 
		
      println("Hello"*3); 
      println(a*3); 
   } 
}

当我们运行上面的程序,我们将得到以下结果:

HelloHelloHello 
HelloHelloHello

(3)Groovy 字符串长度

语法::由字符串的length() 方法确定的字符串的长度。

参数:无参数。

返回值:显示字符串长度的整数。

以下是Groovy中字符串的使用示例:

class Example {
   static void main(String[] args) {
      String a = "Hello";
      println(a.length());
   } 
}

当我们运行上面的程序,我们将得到以下结果:

5

3、字符串方法

这里是String类支持的方法列表。

序号方法和描述
1

center()

返回一个新的长度为numberOfChars的字符串,该字符串由左侧和右侧用空格字符填充的收件人组成。

2

compareToIgnoreCase()

按字母顺序比较两个字符串,忽略大小写差异。

3

concat()

将指定的String连接到此String的结尾。

4

eachMatch()

处理每个正则表达式组(参见下一节)匹配的给定String的子字符串。

5

endsWith()

测试此字符串是否以指定的后缀结尾。

6

equalsIgnoreCase()

将此字符串与另一个字符串进行比较,忽略大小写注意事项。

7

getAt()

它在索引位置返回字符串值

8

indexOf()

返回此字符串中指定子字符串第一次出现的索引。

9

matches()

它输出字符串是否匹配给定的正则表达式。

10

minus()

删除字符串的值部分。

11

next()

此方法由++运算符为String类调用。它增加给定字符串中的最后一个字符。

12

padLeft()

填充字符串,并在左边附加空格。

13

padRight()

填充字符串,并在右边附加空格。

14

plus()

追加字符串

15

previous()

此方法由CharSequence的 - 运算符调用。

16

replaceAll()

通过对该文本的关闭结果替换捕获的组的所有出现。

17

center()

创建一个与此String相反的新字符串。

18

split()

将此String拆分为给定正则表达式的匹配项。

19

subString()

返回一个新的String,它是此String的子字符串。

20

toUpperCase()

将此字符串中的所有字符转换为大写。

21

toLowerCase()

将此字符串中的所有字符转换为小写。

 (1)Groovy center()方法

返回一个新的长度为numberOfChars的字符串,该字符串由左侧和右侧用空格字符填充的收件人组成。

句法

String center(Number numberOfChars)

参数:Number - 新字符串的字符数。

返回值:此方法返回一个字符串。

下面是一个使用这个方法的例子:

class Example { 
   static void main(String[] args) { 
      String a = "HelloWorld"; 
      println(a.center(30)); 
   } 
}

当我们运行上面的程序,我们将得到以下结果:

HelloWorld

(2)Groovy compareToIgnoreCase()方法

按字母顺序比较两个字符串,忽略大小写差异。

句法

int compareToIgnoreCase(String str)

参数:Str - 用于比较的字符串值。

返回值:此方法返回一个负整数,零或正整数,因为指定的String大于,等于或小于此String,忽略大小写注意事项。

下面是一个使用这个方法的例子:

class Example { 
   static void main(String[] args) { 
      String str1 = "Hello World"; 
      String str2 = "HELLO WORLD"; 
      String str3 = "HELLO World World";
		
      System.out.println(str1.compareToIgnoreCase( str2 )); 
      System.out.println(str2.compareToIgnoreCase( str3 )); 
      System.out.println(str3.compareToIgnoreCase( str1 )); 
   } 
}

当我们运行上面的程序,我们将得到以下结果:

0 
-6 
6

(3)Groovy concat()方法

将指定的String连接到此String的结尾。

句法

String concat(String str)

参数:str - 连接到此String的末尾的String。

返回值:此方法返回一个字符串,该字符串表示此对象的字符的后面跟有字符串参数的字符的连接。

下面是一个使用这个方法的例子:

class Example {
   static void main(String[] args) {
      String s = "Hello ";
      s = s.concat("World");
      System.out.println(s);
   } 
}

当我们运行上面的程序,我们将得到以下结果:

Hello World

(4)Groovy eachMatch()方法

处理每个正则表达式组(参见下一节)匹配的给定String 的子字符串。

句法

void eachMatch(String regex, Closure clos)

参数

  • Regex – The string expression to search for
  • Closure – optional closure

返回值:无返回值。

下面是一个使用这个方法的例子:

class Example {
   static void main(String[] args) {
      String s = "HelloWorld";
      
      s.eachMatch(".") {
         ch -> println ch
      }
   }
}

当我们运行上面的程序,我们将得到以下结果:

H 
e 
l 
l 
o 
W 
o 
r 
l 
d

(5)Groovy endsWith()方法

测试此字符串是否以指定的后缀结尾。

句法

Boolean endsWith(String suffix)

参数:后缀 - 要搜索的后缀

返回值:如果由参数表示的字符序列是由此对象表示的字符序列的后缀,则此方法返回true; 否则为假。 注意,如果参数是空字符串或等于由equals(Object)方法确定的此String对象,则结果将为true。

下面是一个使用这个方法的例子:

class Example {
   static void main(String[] args) {
      String s = "HelloWorld";
		
      println(s.endsWith("ld"));
      println(s.endsWith("lo"));
      println("Hello".endsWith("lo"));
   } 
} 

当我们运行上面的程序,我们将得到以下结果:

true
false 
true 

(6)Groovy equalsIgnoreCase()方法

将此字符串与另一个字符串进行比较,忽略大小写注意事项。

句法

Boolean equalsIgnoreCase(String str)

参数:str - 用于比较此String 的字符串

返回值:如果参数不为null并且Strings相等,此方法返回true,忽略大小写; 否则为假。

下面是一个使用这个方法的例子:

class Example { 
   static void main(String[] args) { 
      String a = "Hello World"; 
      String b = "HELLO World"; 
      String c = "HELLO WORLD";
		
      println(a.equalsIgnoreCase(b)); 
      println(a.equalsIgnoreCase(c)); 
      println(b.equalsIgnoreCase(c)); 
   } 
}

当我们运行上面的程序,我们将得到以下结果:

true 
true 
true

(7)Groovy getAt()方法

句法

String getAt(int index)

参数:Index - 要返回的字符串的位置

返回值:索引位置的字符串值

下面是一个使用这个方法的例子:

class Example { 
   static void main(String[] args) { 
      String a = "Hello World"; 
		
      println(a.getAt(2)); 
      println(a.getAt(6)); 
      println(a.getAt(7)); 
   } 
}

当我们运行上面的程序,我们将得到以下结果:

l 
W 
O

(8)Groovy indexOf()方法

返回此字符串中指定子字符串第一次出现的索引。此方法有4种不同的变体。

  • public int indexOf(int ch) - 返回此字符串中指定字符首次出现时的索引,如果字符未出现则返回-1。

句法

public int indexOf(int ch)

参数:ch - 在字符串中搜索的字符。

返回值:返回此字符串中指定字符首次出现的索引,如果字符不出现,则返回-1。

  • public int indexOf(int ch,int fromIndex) - 返回指定字符第一次出现的字符串中的索引,在指定索引处开始搜索,如果字符未出现则返回1。

句法

public int indexOf(int ch, int fromIndex)

参数

  • ch - 要在字符串中搜索的字符
  • fromIndex - 从哪里开始搜索

返回值:返回此字符串中指定字符第一次出现的索引,在指定索引处开始搜索,如果字符未出现,则返回-1。

  • int indexOf(String str) - 返回此字符串中指定子字符串第一次出现的索引。 如果不作为子字符串出现,则返回-1。

句法

int indexOf(String str)

参数:Str - 要搜索的字符串

返回值:返回此字符串中指定子字符串第一次出现的索引。 如果不作为子字符串出现,则返回-1。

  • int indexOf(String str,int fromIndex) - 返回指定子字符串第一次出现的字符串中的索引,从指定的索引开始。 如果不发生,则返回-1。

句法

int indexOf(String str, int fromIndex)

参数:str - 要搜索的字符串

  • fromIndex – where to start the search from

返回值:返回指定子字符串第一次出现的此字符串中的索引,从指定的索引开始。 如果不发生,则返回-1。

以下是所有4种方法变体的使用示例:

class Example { 
   static void main(String[] args) { 
      String a = "Hello World"; 
		
      // Using public int indexOf(int ch) 
      println(a.indexOf('e')); 
      println(a.indexOf('o')); 
		
      // Using public int indexOf(int ch, int fromIndex) 
      println(a.indexOf('l',1)); 
      println(a.indexOf('e',4));
		
      // Using public int indexOf(string str) 
      println(a.indexOf('el')); 
      println(a.indexOf('or')); 
		
      // Using public int indexOf(string str,int fromIndex) 
      println(a.indexOf('el',1)); 
      println(a.indexOf('or',8)); 
   } 
}

当我们运行上面的程序,我们将得到以下结果:

1 
4 
2 
-1 
1 
7 
1 
-1

(9)Groovy matches()方法

它输出字符串是否匹配给定的正则表达式。

句法

Boolean matches(String regex)

参数Regex - 用于比较的表达式。

返回值:当且仅当此字符串匹配给定的正则表达式时,此方法返回true。

以下是此方法的使用示例:

class Example { 
   static void main(String[] args) { 
      String a = "Hello World";
		
      println(a.matches("Hello")); 
      println(a.matches("Hello(.*)")); 
   } 
}

当我们运行上面的程序,我们将得到以下结果:

false 
true

(10)Groovy minus()方法

删除字符串的值部分。

句法

String minus(Object value)

参数:Value - 需要删除的字符串对象

返回值:新字符串减去对象值的值。

下面是一个使用这个方法的例子:

class Example { 
   static void main(String[] args) { 
      String a = "Hello World";
		
      println(a.minus("World")); 
      println(a.minus("Hello"));
   }
}

当我们运行上面的程序,我们将得到以下结果:

Hello  
World

(11)Groovy next()方法

此方法由++运算符为String类调用。它增加给定字符串中的最后一个字符。

句法

String next()

参数:没有

返回值:字符串的新值

下面是一个使用这个方法的例子:

class Example { 
   static void main(String[] args) { 
      String a = "Hello World"; 
      println(a.next());         
   } 
}

当我们运行上面的程序,我们将得到以下结果:

Hello Worle

(12)Groovy padLeft()方法

填充字符串,并在左边附加空格。此方法有2种不同的变体。

  • String padLeft(Number numberOfCharacters) - 填充字符串,并在左侧附加空格。

语法

String padLeft(Number numberOfCharacters)

参数:numberOfCharacters - 用于填充字符串的字符数。

返回值:带有填充字符的字符串的新值

  • String padLeft(Number numberOfCharacters,String padding) - 填充字符串,并在左边附加填充字符。

语法:

String padLeft(Number numberOfCharacters, String padding)

参数

  • numberOfCharacters - 用于填充字符串的字符数。

填充:要应用填充的字符。

返回值:带有填充字符的字符串的新值。

以下是两种方法变体的使用示例:

class Example { 
   static void main(String[] args) { 
      String a = "Hello World";
		
      println(a.padLeft(14)); 
      println(a.padLeft(16)); 
      println(a.padLeft(16,'*')); 
      println(a.padLeft(14,'*')); 
   } 
}

当我们运行上面的程序,我们将得到以下结果:

Hello World 
Hello World 
*****Hello World 
***Hello World

(13)Groovy padRight()方法

填充字符串,并在右边附加空格。 此方法有2种不同的变体。

  • String padRight(Number numberOfCharacters) - 填充字符串,并在右边附加空格。

语法

String padRight(Number numberOfCharacters)

参数numberOfCharacters - 用于填充字符串的字符数。

返回值:带有填充字符的字符串的新值。

  • String padRight(Number numberOfCharacters,String padding) - 使用附加在右侧的填充字符填充字符串。

语法:

String padRight(Number numberOfCharacters, String padding)

参数:

  • numberOfCharacters - 用于填充字符串的字符数。

填充:要应用填充的字符。

返回值:带有填充字符的字符串的新值

下面是一个使用这个方法的例子:

class Example { 
   static void main(String[] args) { 
      String a = "Hello World"; 
		
      println(a.padRight(14)); 
      println(a.padRight(16)); 
      println(a.padRight(16,'*')); 
      println(a.padRight(14,'*')); 
   } 
}

当我们运行上面的程序,我们将得到以下结果:

Hello World    
Hello World      
Hello World***** 
Hello World***

(14)Groovy plus()方法

追加字符串

句法:

String plus(Object value) 

参数Value - 要附加到字符串的对象

返回值:此方法返回生成的String。

下面是一个使用这个方法的例子:

class Example { 
   static void main(String[] args) { 
      String a = "Hello";
		
      println(a.plus("World")); 
      println(a.plus("World Again")); 
   } 
}

当我们运行上面的程序,我们将得到以下结果:

HelloWorld 
HelloWorld Again

(15)Groovy previous()方法

句法

String previous()

参数:没有

返回值:此方法返回生成的String。

下面是一个使用这个方法的例子:

class Example { 
   static void main(String[] args) {
      String a = "Hello"; 
      println(a.previous());
   }
}

当我们运行上面的程序,我们将得到以下结果:

Helln

(16)Groovy replaceAll()方法

通过对该文本的关闭结果替换捕获的组的所有出现。

句法:

void replaceAll(String regex, String replacement)

 

参数

  • regex - 此字符串要匹配的正则表达式。
  • replacement - 将替换找到的表达式的字符串。

返回值:此方法返回生成的String。

下面是一个使用这个方法的例子:

class Example { 
   static void main(String[] args) { 
      String a = "Hello World Hello"; 
      println(a.replaceAll("Hello","Bye")); 
      println(a.replaceAll("World","Hello"));     
   } 
}

当我们运行上面的程序,我们将得到以下结果:

Bye World Bye 
Hello Hello Hello

(17)Groovy Strings center()方法

创建一个与此String相反的新字符串。

句法:

String reverse()

参数:没有

返回值:此方法返回生成的String。

下面是一个使用这个方法的例子:

class Example {
   static void main(String[] args) {
      String a = "Hello World";
      println(a.reverse());
   } 
}

当我们运行上面的程序,我们将得到以下结果:

dlroW olleH

(18)Groovy split()方法

将此String拆分为给定正则表达式的匹配项。

句法:

String[] split(String regex)

参数:regex - 定界正则表达式。

返回值:它返回通过围绕给定正则表达式的匹配拆分此字符串计算的字符串数组。

下面是一个使用这个方法的例子:

class Example {
   static void main(String[] args) {
      String a = "Hello-World";
      String[] str;
      str = a.split('-');
      
      for( String values : str )
      println(values);
   } 
}

当我们运行上面的程序,我们将得到以下结果:

Hello 
World 

(19)Groovy subString()方法

返回一个新的String,它是此String的子字符串。此方法有2种不同的变体

  • String substring(int beginIndex) - 填充字符串,并在右边附加空格。

语法:

String substring(int beginIndex)

参数:beginIndex - 开始索引(含首尾)。

返回值:指定的子字符串。

  • String substring(int beginIndex,int endIndex) - 填充字符串,并在右边附加填充字符。

语法:

String substring(int beginIndex, int endIndex)

参数:

  • beginIndex - 开始索引(含首尾)。
  • endIndex - 结束索引,排除。

返回值:指定的子字符串。

以下是两个变体的使用示例:

class Example { 
   static void main(String[] args) { 
      String a = "HelloWorld"; 
      println(a.substring(4)); 
      println(a.substring(4,8));
   }
}

当我们运行上面的程序,我们将得到以下结果:

oWorld 
oWor

(20)Groovy toUpperCase()方法

将此字符串中的所有字符转换为大写。

句法

String toUpperCase()

参数:没有

返回值:修改后的字符串大写。

下面是一个使用这个方法的例子:

class Example { 
   static void main(String[] args) { 
      String a = "HelloWorld"; 
      println(a.toUpperCase()); 
   } 
}

当我们运行上面的程序,我们将得到以下结果:

HELLOWORLD

(21)Groovy toLowerCase()方法

将此字符串中的所有字符转换为小写。

句法:

String toLowerCase()

参数:没有

返回值:小写的修改字符串。

下面是一个使用这个方法的例子:

class Example { 
   static void main(String[] args) { 
      String a = "HelloWorld"; 
      println(a.toLowerCase()); 
   } 
}

当我们运行上面的程序,我们将得到以下结果:

helloworld

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值