【Groovy】字符串 ( 字符串注入函数 | asBoolean | execute | minus )

举报
韩曙亮 发表于 2022/01/12 00:06:19 2022/01/12
【摘要】 文章目录 一、字符串注入函数1、字符串转布尔值 asBoolean 函数2、执行字符串对应命令 execute 函数3、字符串减法 minus 函数 二、完整代码示例 一...





一、字符串注入函数



Groovy 为 字符串 类 , 注入了一系列的方法 , 下面介绍几个重要的注入方法 ; 为 Groovy 字符串扩展的函数 , 都定义在

public class StringGroovyMethods extends DefaultGroovyMethodsSupport

  
 
  • 1

类中 ;


1、字符串转布尔值 asBoolean 函数


将字符串转为布尔值函数 :

  • 字符串长度为 0 , 则返回 false ;
  • 字符串长度大于 0 , 返回 true ;
"".asBoolean();

  
 
  • 1

注入的 asBoolean 函数 :

public class StringGroovyMethods extends DefaultGroovyMethodsSupport {
	/**
	 * 将字符串(CharSequence的实例)强制为布尔值。
	 * 如果字符串的长度为0,则该字符串强制为false,
	 * 反之亦然。
	 * 
	 * @param 字符串指定字符序列
	 * @返回布尔值
	 * @从1.7开始。0
	 */
    public static boolean asBoolean(CharSequence string) {
        return string.length() > 0;
    }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

执行如下代码 :

class Test {
    static void main(args) {

        println "".asBoolean();
    }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

执行结果 :

false

  
 
  • 1

2、执行字符串对应命令 execute 函数


调用字符串的 execute() 方法 , 可以执行该 字符串命令 , 前提是该字符串必须是系统命令 , 不能是任意字符串 ;


注入 execute() 函数 :

public class StringGroovyMethods extends DefaultGroovyMethodsSupport {

	/**
	 * 将<code>self</code>指定的命令作为命令行进程执行。
	 * <p>对于过程构造的更多控制,您可以使用
	 * <code>java。lang.ProcessBuilder</code>。
	 * 
	 * @param self 命令行字符串
	 * @返回此命令行表示刚刚启动的进程
	 * @在发生IOException时抛出IOException。
	 * @自1.0以来
	 */
    public static Process execute(final String self) throws IOException {
        return Runtime.getRuntime().exec(self);
    }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

执行如下代码 :

class Test {
    static void main(args) {

        println "cmd /c groovy -v".execute().text
    }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

执行结果 :

Groovy Version: 3.0.9 JVM: 1.8.0_91 Vendor: Oracle Corporation OS: Windows 10

  
 
  • 1

3、字符串减法 minus 函数


两个字符串之间进行减法操作 , 相当于从大的字符串中 , 删除被减去的小的字符串 ;


注入 minus() 函数 :

public class StringGroovyMethods extends DefaultGroovyMethodsSupport {


	/**
	 * 移除字符串的一部分。这将替换第一个事件
	 * 目标。将self中的toString()与“”匹配,并返回结果。
	 * 
	 * @param self 字符串
	 * @param target 表示要移除的零件的对象
	 * @返回一个字符串减去要删除的部分
	 * @自1.0以来
	 */
    public static String minus(String self, Object target) {
        String text = DefaultGroovyMethods.toString(target);
        int index = self.indexOf(text);
        if (index == -1) return self;
        int end = index + text.length();
        if (self.length() > end) {
            return self.substring(0, index) + self.substring(end);
        }
        return self.substring(0, index);
    }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

代码示例 :

class Test {
    static void main(args) {
        println "HelloWorld" - "World"
    }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5

执行结果 :

Hello

  
 
  • 1




二、完整代码示例



完整代码示例 :

class Test {
    static void main(args) {

        println "".asBoolean();

        println "cmd /c groovy -v".execute().text

        println "HelloWorld" - "World"
    }
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

执行结果 :

false
Groovy Version: 3.0.9 JVM: 1.8.0_91 Vendor: Oracle Corporation OS: Windows 10

Hello

  
 
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。

原文链接:hanshuliang.blog.csdn.net/article/details/122040564

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。