当前位置:网站首页>[groovy] string (string injection function | asBoolean | execute | minus)
[groovy] string (string injection function | asBoolean | execute | minus)
2022-07-05 03:12:00 【Programmer community】
List of articles
- One 、 String injection function
- 1、 String to Boolean asBoolean function
- 2、 Execute the command corresponding to the string execute function
- 3、 String subtraction minus function
- Two 、 Complete code example
One 、 String injection function
Groovy by character string class , Injected a series of methods , Here are some important injection methods ; by Groovy String extension function , It's all defined in
public class StringGroovyMethods extends DefaultGroovyMethodsSupport
Class ;
1、 String to Boolean asBoolean function
A function that converts a string to a Boolean value :
- String length is 0 , Then return to false ;
- String length greater than 0 , return true ;
"".asBoolean();
Injected asBoolean function :
public class StringGroovyMethods extends DefaultGroovyMethodsSupport {
/** * The string (CharSequence Example ) Force to Boolean . * If the length of the string is 0, The string is forced to false, * vice versa . * * @param String specifies the character sequence * @ Returns a Boolean value * @ from 1.7 Start .0 */ public static boolean asBoolean(CharSequence string) {
return string.length() > 0; }}
Execute the following code :
class Test {
static void main(args) {
println "".asBoolean(); }}
Execution results :
false
2、 Execute the command corresponding to the string execute function
Call string execute() Method , This can be performed String command , The premise is that the string must be a system command , Can't be any string ;
Inject execute() function :
public class StringGroovyMethods extends DefaultGroovyMethodsSupport {
/** * take <code>self</code> The specified command is executed as a command line process . * <p> More control over process construction , You can use * <code>java.lang.ProcessBuilder</code>. * * @param self Command line string * @ Returning this command line indicates the process just started * @ In the event of a IOException Throw when IOException. * @ since 1.0 since */ public static Process execute(final String self) throws IOException {
return Runtime.getRuntime().exec(self); }}
Execute the following code :
class Test {
static void main(args) {
println "cmd /c groovy -v".execute().text }}
Execution results :
Groovy Version: 3.0.9 JVM: 1.8.0_91 Vendor: Oracle Corporation OS: Windows 10
3、 String subtraction minus function
Subtract between two strings , Equivalent to from a large string , Delete the subtracted small string ;
Inject minus() function :
public class StringGroovyMethods extends DefaultGroovyMethodsSupport {
/** * Remove part of the string . This will replace the first event * The goal is . take self Medium toString() And “” matching , And return the result . * * @param self character string * @param target Object representing the part to be removed * @ Returns a string minus the part to be deleted * @ since 1.0 since */ 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); }}
Code example :
class Test {
static void main(args) {
println "HelloWorld" - "World" }}
Execution results :
Hello
Two 、 Complete code example
Complete code example :
class Test {
static void main(args) {
println "".asBoolean(); println "cmd /c groovy -v".execute().text println "HelloWorld" - "World" }}
Execution results :
falseGroovy Version: 3.0.9 JVM: 1.8.0_91 Vendor: Oracle Corporation OS: Windows 10Hello
边栏推荐
- 問下,這個ADB mysql支持sqlserver嗎?
- Flume配置4——自定义MYSQLSource
- 看 TDengine 社区英雄线上发布会,听 TD Hero 聊开发者传奇故事
- Kbp206-asemi rectifier bridge kbp206
- Leetcode42. connect rainwater
- 腾讯云,实现图片上传
- Design of kindergarten real-time monitoring and control system
- The perfect car for successful people: BMW X7! Superior performance, excellent comfort and safety
- 8. Commodity management - commodity classification
- Avoid material "minefields"! Play with super high conversion rate
猜你喜欢
Three line by line explanations of the source code of anchor free series network yolox (a total of ten articles, which are guaranteed to be explained line by line. After reading it, you can change the
2021 Li Hongyi machine learning (2): pytorch
Azkaban overview
Azkaban实战
8. Commodity management - commodity classification
Why are there fewer and fewer good products produced by big Internet companies such as Tencent and Alibaba?
The perfect car for successful people: BMW X7! Superior performance, excellent comfort and safety
Cut! 39 year old Ali P9, saved 150million
1.五层网络模型
Sqoop安装
随机推荐
Logstash、Fluentd、Fluent Bit、Vector? How to choose the appropriate open source log collector
2021 Li Hongyi machine learning (1): basic concepts
[Yu Yue education] National Open University autumn 2018 8109-22t (1) monetary and banking reference questions
El tree whether leaf node or not, the drop-down button is permanent
Design of KTV intelligent dimming system based on MCU
[Chongqing Guangdong education] 2777t green space planning reference questions of National Open University in autumn 2018
Tiny series rendering tutorial
Voice chip wt2003h4 B008 single chip to realize the quick design of intelligent doorbell scheme
有個疑問 flink sql cdc 的話可以設置並行度麼, 並行度大於1會有順序問題吧?
Devtools的简单使用
Share the newly released web application development framework based on blazor Technology
Port, domain name, protocol.
Why is this an undefined behavior- Why is this an undefined behavior?
Vb+access hotel service management system
Multi person online anonymous chat room / private chat room source code / support the creation of multiple chat rooms at the same time
Tencent cloud, realize image upload
The perfect car for successful people: BMW X7! Superior performance, excellent comfort and safety
LeetCode 237. Delete nodes in the linked list
Moco V2 literature research [self supervised learning]
ELK日志分析系统