Skip to content

tool ​

通用工具方法,用于字符串操作、集合、JSON 操作等。此工具提供了 Groovy 脚本中常用的各种辅助函数。

用法 ​

properties
field.name=groovy:```
def name = tool.capitalize(it.name())
return tool.removePrefix(name, "get")
```

字符串方法 ​

基本字符串操作 ​

方法说明
tool.nullOrEmpty(str)检查字符串是否为 null 或空
tool.nullOrBlank(str)检查字符串是否为 null 或空白
tool.notNullOrEmpty(str)检查字符串是否不为 null 且不为空
tool.notNullOrBlank(str)检查字符串是否不为 null 且不为空白
tool.headLine(str)获取文本的第一行(别名:firstLine)
tool.capitalize(str)首字母大写
tool.uncapitalize(str)首字母小写
tool.upperCase(str)转换为大写
tool.lowerCase(str)转换为小写
tool.swapCase(str)交换所有字符的大小写
tool.reverse(str)反转字符串
tool.repeat(str, n)重复字符串 n 次
tool.repeat(str, separator, n)使用分隔符重复字符串 n 次
tool.isNumeric(str)检查字符串是否只包含数字
tool.isAlpha(str)检查字符串是否只包含字母

子字符串操作 ​

方法说明
tool.substringBefore(str, sep)获取分隔符前的子字符串
tool.substringAfter(str, sep)获取分隔符后的子字符串
tool.substringBeforeLast(str, sep)获取最后一个分隔符前的子字符串
tool.substringAfterLast(str, sep)获取最后一个分隔符后的子字符串
tool.substringBetween(str, tag)获取匹配标签之间的子字符串
tool.substringBetween(str, open, close)获取 open 和 close 之间的子字符串
tool.substringsBetween(str, open, close)获取标记之间的所有子字符串
tool.removePrefix(str, prefix)移除字符串前缀
tool.removeSuffix(str, suffix)移除字符串后缀

分割和连接 ​

方法说明
tool.split(str)按空白分割字符串
tool.split(str, separators)按分隔符字符分割字符串

大小写转换 ​

方法说明
tool.toCamelCase(str, capitalizeFirst)转换为驼峰命名或帕斯卡命名
tool.camel2Underline(str)将驼峰命名转换为下划线命名

集合方法 ​

方法说明
tool.newSet(vararg items)创建新的 Set
tool.newList(vararg items)创建新的 List
tool.newMap()创建新的 LinkedHashMap
tool.asList(any)转换为 List
tool.asArray(any)转换为 Array

Any 方法 ​

方法说明
tool.isNullOrEmpty(any)检查值是否为 null 或空(适用于 String、Collection、Map、Array)
tool.notNullOrEmpty(any)检查值是否不为 null 且不为空
tool.intersect(any, other)获取两个集合的交集
tool.anyIntersect(any, other)检查集合是否有公共元素
tool.equalOrIntersect(any, other)检查是否相等或有公共元素

JSON 方法 ​

方法说明
tool.parseJson(json)将 JSON 字符串解析为对象
tool.toJson(obj)将对象转换为 JSON 字符串
tool.prettyJson(obj)将对象转换为格式化的 JSON 字符串

日期/时间方法 ​

方法说明
tool.now()获取当前日期时间字符串(yyyy-MM-dd HH:mm:ss)
tool.now(pattern)使用自定义格式获取当前日期时间
tool.today()获取当前日期字符串(yyyy-MM-dd)
tool.format(time, pattern)使用格式化模式格式化时间戳

剪贴板方法 ​

方法说明
tool.copy2Clipboard(str)复制字符串到系统剪贴板

调试方法 ​

方法说明
tool.debug(any)获取对象的调试信息(类型和可用方法)

示例 ​

properties
field.mock=groovy:```
def name = it.name()

// 字符串操作
if (tool.notNullOrEmpty(name)) {
    def capitalizedName = tool.capitalize(name)
    def underscoreName = tool.camel2Underline(name)
    logger.info("Original: " + name)
    logger.info("Capitalized: " + capitalizedName)
    logger.info("Snake case: " + underscoreName)
}

// JSON 操作
def data = [name: "test", value: 123]
def json = tool.toJson(data)
logger.info("JSON: " + json)

// 日期/时间
def now = tool.now()
def today = tool.today()
logger.info("Current time: " + now)

return "mock_" + name
```

相关链接 ​

基于 Apache-2.0 许可发布