Groovy Tip 10 Groovy语言对String的简化操作
2008-05-05 07:48
302 查看
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语言中,对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 6 集合类的简化操作
- Groovy探索之对Java语言反射的简化
- 10-13 Linux下C语言操作MySQL
- 汇编语言: 从键盘上输入一串字符(用回车键结束,使用 10 号功能调用。)放在 STRING 中,试 编制一个程序测试字符串中是否存在数字。如有,则把 CL 的第 5 位置 1,否则将该位置置 0。
- .Net FX 2.0 中文语言包 与 英文包 在 Sql Server 日期操作的 差异。[Conversion failed when converting datetime from character string.]
- 【C语言】C语言基础知识1. tip01~10
- c语言基础学习10_关于文件操作的复习
- Groovy Tip 34 Groovy语言的here-docs
- Groovy Tip 27 Groovy语言对一些常用操作符的扩展
- c语言基础学习10_文件操作01
- Linux下C语言编程入门-10关于信号处理操作
- 分享10 个你可能没用过的 Linux 命令,有些比较简化常用操作,比较有用。
- 简化Java日期操作的开源项目DATE4J,超级好用
- 使用jOOR简化反射操作
- XCODE 4.5 IOS多语言设置 及NSLocalizedString和NSLocalizedStringFromTable的用法。
- 第07天OC语言(10):字符串比较
- 使用String.format简化代码
- Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结
- 各类语言对文件的操作
- Groovy语言的介绍