当前位置:网站首页>[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
边栏推荐
- qrcode:将文本生成二维码
- Kuboard
- Apache Web page security optimization
- Bumblebee: build, deliver, and run ebpf programs smoothly like silk
- Mongodb common commands
- Tiny series rendering tutorial
- Asemi rectifier bridge 2w10 parameters, 2w10 specifications, 2w10 characteristics
- 2.常见的请求方法
- Elfk deployment
- Why are there fewer and fewer good products produced by big Internet companies such as Tencent and Alibaba?
猜你喜欢

2021 Li Hongyi machine learning (1): basic concepts

51 independent key basic experiment

Accuracy problem and solution of BigDecimal

Port, domain name, protocol.

Zabbix

Tiny series rendering tutorial

Sqoop installation

Scientific research: are women better than men?

Kbp206-asemi rectifier bridge kbp206

SPI and IIC communication protocol
随机推荐
[105] Baidu brain map - Online mind mapping tool
Basic authorization command for Curl
2021 Li Hongyi machine learning (1): basic concepts
Pytest (4) - test case execution sequence
There is a question about whether the parallelism can be set for Flink SQL CDC. If the parallelism is greater than 1, will there be a sequence problem?
Design and implementation of campus epidemic prevention and control system based on SSM
Design and implementation of kindergarten management system
51 independent key basic experiment
TCP security of network security foundation
Elk log analysis system
Class inheritance in C #
LeetCode --- 1071. Great common divisor of strings problem solving Report
Devtools的简单使用
[Yu Yue education] National Open University autumn 2018 8109-22t (1) monetary and banking reference questions
Pat class a 1160 forever (class B 1104 forever)
Is there any way to change the height of the uinavigationbar in the storyboard without using the UINavigationController?
Une question est de savoir si Flink SQL CDC peut définir le parallélisme. Si le parallélisme est supérieur à 1, il y aura un problème d'ordre?
The perfect car for successful people: BMW X7! Superior performance, excellent comfort and safety
Design and implementation of community hospital information system
When sqlacodegen generates a model, how to solve the problem that the password contains special characters?