[Capitalize_1st] Capitalize the First Letter of a String in Java (#12885)
This commit is contained in:
parent
bf1f0aa3da
commit
b8481873e9
|
@ -1,7 +1,7 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
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">
|
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>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<artifactId>core-java-string-operations-5</artifactId>
|
<artifactId>core-java-string-operations-5</artifactId>
|
||||||
<version>0.1.0-SNAPSHOT</version>
|
<version>0.1.0-SNAPSHOT</version>
|
||||||
|
@ -14,6 +14,13 @@
|
||||||
<version>0.0.1-SNAPSHOT</version>
|
<version>0.0.1-SNAPSHOT</version>
|
||||||
</parent>
|
</parent>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>org.apache.commons</groupId>
|
||||||
|
<artifactId>commons-lang3</artifactId>
|
||||||
|
<version>${apache.commons.lang3.version}</version>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
<build>
|
<build>
|
||||||
<plugins>
|
<plugins>
|
||||||
<plugin>
|
<plugin>
|
||||||
|
@ -30,6 +37,7 @@
|
||||||
<properties>
|
<properties>
|
||||||
<maven.compiler.source>11</maven.compiler.source>
|
<maven.compiler.source>11</maven.compiler.source>
|
||||||
<maven.compiler.target>11</maven.compiler.target>
|
<maven.compiler.target>11</maven.compiler.target>
|
||||||
|
<apache.commons.lang3.version>3.12.0</apache.commons.lang3.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
</project>
|
</project>
|
|
@ -0,0 +1,45 @@
|
||||||
|
package com.baeldung.capitalizethefirstletter;
|
||||||
|
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
|
||||||
|
import java.util.regex.Pattern;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
public class CapitalizeTheFirstLetterUnitTest {
|
||||||
|
private static final String EMPTY_INPUT = "";
|
||||||
|
private static final String EMPTY_EXPECTED = "";
|
||||||
|
private static final String INPUT = "hi there, Nice to Meet You!";
|
||||||
|
private static final String EXPECTED = "Hi there, Nice to Meet You!";
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenString_whenCapitalizeUsingSubString_shouldGetExpectedResult() {
|
||||||
|
String output = INPUT.substring(0, 1).toUpperCase() + INPUT.substring(1);
|
||||||
|
assertEquals(EXPECTED, output);
|
||||||
|
|
||||||
|
assertThrows(IndexOutOfBoundsException.class, () -> EMPTY_INPUT.substring(1));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenString_whenCapitalizeUsingRegexReplace_shouldGetExpectedResult() {
|
||||||
|
String output = Pattern.compile("^.").matcher(INPUT).replaceFirst(m -> m.group().toUpperCase());
|
||||||
|
assertEquals(EXPECTED, output);
|
||||||
|
|
||||||
|
String emptyOutput = Pattern.compile("^.").matcher(EMPTY_INPUT).replaceFirst(m -> m.group().toUpperCase());
|
||||||
|
assertEquals(EMPTY_EXPECTED, emptyOutput);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenString_whenCapitalizeUsingApacheCommons_shouldGetExpectedResult() {
|
||||||
|
String output = StringUtils.capitalize(INPUT);
|
||||||
|
assertEquals(EXPECTED, output);
|
||||||
|
|
||||||
|
String emptyOutput = StringUtils.capitalize(EMPTY_INPUT);
|
||||||
|
assertEquals(EMPTY_EXPECTED, emptyOutput);
|
||||||
|
|
||||||
|
String nullOutput = StringUtils.capitalize(null);
|
||||||
|
assertNull(nullOutput);
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue