Merge pull request #9940 from usman-mohyuddin/dev-removePrefix
Remove prefix from string using groovy (BAEL-4104)
This commit is contained in:
commit
4ea37a05a0
122
core-groovy-strings/pom.xml
Normal file
122
core-groovy-strings/pom.xml
Normal file
@ -0,0 +1,122 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project
|
||||||
|
xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
<artifactId>core-groovy-strings</artifactId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
<name>core-groovy-strings</name>
|
||||||
|
<packaging>jar</packaging>
|
||||||
|
|
||||||
|
<parent>
|
||||||
|
<groupId>com.baeldung</groupId>
|
||||||
|
<artifactId>parent-modules</artifactId>
|
||||||
|
<version>1.0.0-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.codehaus.groovy</groupId>
|
||||||
|
<artifactId>groovy</artifactId>
|
||||||
|
<version>${groovy.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.codehaus.groovy</groupId>
|
||||||
|
<artifactId>groovy-all</artifactId>
|
||||||
|
<version>${groovy-all.version}</version>
|
||||||
|
<type>pom</type>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.codehaus.groovy</groupId>
|
||||||
|
<artifactId>groovy-dateutil</artifactId>
|
||||||
|
<version>${groovy.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.codehaus.groovy</groupId>
|
||||||
|
<artifactId>groovy-sql</artifactId>
|
||||||
|
<version>${groovy-sql.version}</version>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.junit.platform</groupId>
|
||||||
|
<artifactId>junit-platform-runner</artifactId>
|
||||||
|
<version>${junit.platform.version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.hsqldb</groupId>
|
||||||
|
<artifactId>hsqldb</artifactId>
|
||||||
|
<version>${hsqldb.version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.spockframework</groupId>
|
||||||
|
<artifactId>spock-core</artifactId>
|
||||||
|
<version>${spock-core.version}</version>
|
||||||
|
<scope>test</scope>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
<build>
|
||||||
|
<plugins>
|
||||||
|
<plugin>
|
||||||
|
<groupId>org.codehaus.gmavenplus</groupId>
|
||||||
|
<artifactId>gmavenplus-plugin</artifactId>
|
||||||
|
<version>${gmavenplus-plugin.version}</version>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<goals>
|
||||||
|
<goal>addSources</goal>
|
||||||
|
<goal>addTestSources</goal>
|
||||||
|
<goal>compile</goal>
|
||||||
|
<goal>compileTests</goal>
|
||||||
|
</goals>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
<plugin>
|
||||||
|
<artifactId>maven-failsafe-plugin</artifactId>
|
||||||
|
<version>${maven-failsafe-plugin.version}</version>
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.junit.platform</groupId>
|
||||||
|
<artifactId>junit-platform-surefire-provider</artifactId>
|
||||||
|
<version>${junit.platform.version}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
<executions>
|
||||||
|
<execution>
|
||||||
|
<id>junit5</id>
|
||||||
|
<goals>
|
||||||
|
<goal>integration-test</goal>
|
||||||
|
<goal>verify</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<includes>
|
||||||
|
<include>**/*Test5.java</include>
|
||||||
|
</includes>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
|
</executions>
|
||||||
|
</plugin>
|
||||||
|
</plugins>
|
||||||
|
</build>
|
||||||
|
|
||||||
|
<repositories>
|
||||||
|
<repository>
|
||||||
|
<id>central</id>
|
||||||
|
<url>https://jcenter.bintray.com</url>
|
||||||
|
</repository>
|
||||||
|
</repositories>
|
||||||
|
|
||||||
|
<properties>
|
||||||
|
<junit.platform.version>1.0.0</junit.platform.version>
|
||||||
|
<groovy.version>2.5.6</groovy.version>
|
||||||
|
<groovy-all.version>2.5.6</groovy-all.version>
|
||||||
|
<groovy-sql.version>2.5.6</groovy-sql.version>
|
||||||
|
<hsqldb.version>2.4.0</hsqldb.version>
|
||||||
|
<spock-core.version>1.1-groovy-2.4</spock-core.version>
|
||||||
|
<gmavenplus-plugin.version>1.6</gmavenplus-plugin.version>
|
||||||
|
</properties>
|
||||||
|
|
||||||
|
</project>
|
@ -0,0 +1,70 @@
|
|||||||
|
package com.baeldung.removeprefix
|
||||||
|
|
||||||
|
import org.junit.Assert
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class RemovePrefixTest {
|
||||||
|
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenCasePrefixIsRemoved_thenReturnTrue() {
|
||||||
|
def trimPrefix = {
|
||||||
|
it.startsWith('Groovy-') ? it.minus('Groovy-') : it
|
||||||
|
}
|
||||||
|
|
||||||
|
def actual = trimPrefix("Groovy-Tutorials at Baeldung")
|
||||||
|
def expected = "Tutorials at Baeldung"
|
||||||
|
|
||||||
|
Assert.assertEquals(expected, actual)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenPrefixIsRemoved_thenReturnTrue() {
|
||||||
|
|
||||||
|
String prefix = "groovy-"
|
||||||
|
String trimPrefix = "Groovy-Tutorials at Baeldung"
|
||||||
|
def actual;
|
||||||
|
if(trimPrefix.startsWithIgnoreCase(prefix)) {
|
||||||
|
actual = trimPrefix.substring(prefix.length())
|
||||||
|
}
|
||||||
|
|
||||||
|
def expected = "Tutorials at Baeldung"
|
||||||
|
|
||||||
|
Assert.assertEquals(expected, actual)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenPrefixIsRemovedUsingRegex_thenReturnTrue() {
|
||||||
|
|
||||||
|
def regex = ~"^([Gg])roovy-"
|
||||||
|
String trimPrefix = "Groovy-Tutorials at Baeldung"
|
||||||
|
String actual = trimPrefix - regex
|
||||||
|
|
||||||
|
def expected = "Tutorials at Baeldung"
|
||||||
|
|
||||||
|
Assert.assertEquals(expected, actual)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenPrefixIsRemovedUsingReplaceFirst_thenReturnTrue() {
|
||||||
|
def regex = ~"^groovy"
|
||||||
|
String trimPrefix = "groovyTutorials at Baeldung's groovy page"
|
||||||
|
String actual = trimPrefix.replaceFirst(regex, "")
|
||||||
|
|
||||||
|
def expected = "Tutorials at Baeldung's groovy page"
|
||||||
|
|
||||||
|
Assert.assertEquals(expected, actual)
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void whenPrefixIsRemovedUsingReplaceAll_thenReturnTrue() {
|
||||||
|
|
||||||
|
String trimPrefix = "groovyTutorials at Baeldung groovy"
|
||||||
|
String actual = trimPrefix.replaceAll(/^groovy/, "")
|
||||||
|
|
||||||
|
def expected = "Tutorials at Baeldung groovy"
|
||||||
|
|
||||||
|
Assert.assertEquals(expected, actual)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
2
pom.xml
2
pom.xml
@ -383,6 +383,7 @@
|
|||||||
<module>core-groovy</module>
|
<module>core-groovy</module>
|
||||||
<module>core-groovy-2</module>
|
<module>core-groovy-2</module>
|
||||||
<module>core-groovy-collections</module>
|
<module>core-groovy-collections</module>
|
||||||
|
<module>core-groovy-strings</module>
|
||||||
|
|
||||||
<module>core-java-modules</module>
|
<module>core-java-modules</module>
|
||||||
<module>core-kotlin-modules</module>
|
<module>core-kotlin-modules</module>
|
||||||
@ -894,6 +895,7 @@
|
|||||||
<module>core-groovy</module>
|
<module>core-groovy</module>
|
||||||
<module>core-groovy-2</module>
|
<module>core-groovy-2</module>
|
||||||
<module>core-groovy-collections</module>
|
<module>core-groovy-collections</module>
|
||||||
|
<module>core-groovy-strings</module>
|
||||||
|
|
||||||
<module>core-java-modules</module>
|
<module>core-java-modules</module>
|
||||||
<module>core-kotlin-modules</module>
|
<module>core-kotlin-modules</module>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user