当前位置:网站首页>[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
边栏推荐
- Talk about the SQL server version of DTM sub transaction barrier function
- 看 TDengine 社区英雄线上发布会,听 TD Hero 聊开发者传奇故事
- Apache Web page security optimization
- Spoon inserts and updates the Oracle database, and some prompts are inserted with errors. Assertion botch: negative time
- IPv6 experiment
- qrcode:将文本生成二维码
- Asemi rectifier bridge 2w10 parameters, 2w10 specifications, 2w10 characteristics
- ELK日志分析系统
- GFS分布式文件系统
- The latest blind box mall, which has been repaired very popular these days, has complete open source operation source code
猜你喜欢
Pat grade a 1119 pre- and post order traversals (30 points)
this+闭包+作用域 面试题
Design and implementation of high availability website architecture
Qrcode: generate QR code from text
Avoid material "minefields"! Play with super high conversion rate
Yyds dry goods inventory intelligent fan based on CC2530 design
Huawei MPLS experiment
Azkaban actual combat
el-select,el-option下拉选择框
Avoid material "minefields"! Play with super high conversion rate
随机推荐
Cut! 39 year old Ali P9, saved 150million
Elfk deployment
Devtools的簡單使用
Anchor free series network yolox source code line by line explanation four (a total of ten, ensure line by line explanation, after reading, you can change the network at will, not just as a participan
Sqoop command
Pat class a 1160 forever (class B 1104 forever)
qrcode:将文本生成二维码
LeetCode146. LRU cache
Share the newly released web application development framework based on blazor Technology
Devtools的简单使用
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
Character painting, I use characters to draw a Bing Dwen Dwen
ELK日志分析系统
Character painting, I use characters to draw a Bing Dwen Dwen
1.五层网络模型
Performance of calling delegates vs methods
When the low alcohol race track enters the reshuffle period, how can the new brand break the three major problems?
SPI and IIC communication protocol
this+闭包+作用域 面试题
SFTP cannot connect to the server # yyds dry goods inventory #