当前位置:网站首页>[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 DefaultGroovyMethodsSupportClass ;
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 :
false2、 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 103、 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 :
HelloTwo 、 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
边栏推荐
- Avoid material "minefields"! Play with super high conversion rate
- Pytest (5) - assertion
- 打破信息茧房-我主动获取信息的方法 -#3
- Machine learning experiment report 1 - linear model, decision tree, neural network part
- 有個疑問 flink sql cdc 的話可以設置並行度麼, 並行度大於1會有順序問題吧?
- C file in keil cannot be compiled
- Devtools的簡單使用
- VM in-depth learning (XXV) -class file overview
- Share the newly released web application development framework based on blazor Technology
- Azkaban installation and deployment
猜你喜欢

Pytest (5) - assertion

Utilisation simple de devtools

Character painting, I use characters to draw a Bing Dwen Dwen

The perfect car for successful people: BMW X7! Superior performance, excellent comfort and safety

Voice chip wt2003h4 B008 single chip to realize the quick design of intelligent doorbell scheme

Tiny series rendering tutorial
![Moco V2 literature research [self supervised learning]](/img/bd/79b7b203ea064c65d143116c9f4dd0.jpg)
Moco V2 literature research [self supervised learning]

Ubantu disk expansion (VMware)

Flume配置4——自定义MYSQLSource

Cut! 39 year old Ali P9, saved 150million
随机推荐
El tree whether leaf node or not, the drop-down button is permanent
Master Fur
Huawei MPLS experiment
Asemi rectifier bridge 2w10 parameters, 2w10 specifications, 2w10 characteristics
The perfect car for successful people: BMW X7! Superior performance, excellent comfort and safety
Azkaban actual combat
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
SPI and IIC communication protocol
Pat grade a 1119 pre- and post order traversals (30 points)
Use UDP to send a JPEG image, and UPD will convert it into the mat format of OpenCV after receiving it
Multi person online anonymous chat room / private chat room source code / support the creation of multiple chat rooms at the same time
Good documentation
Design and implementation of community hospital information system
Port, domain name, protocol.
Pytest (4) - test case execution sequence
Jd.com 2: how to prevent oversold in the deduction process of commodity inventory?
Breaking the information cocoon - my method of actively obtaining information - 3
Pytest (5) - assertion
Share the newly released web application development framework based on blazor Technology
SQL performance optimization skills