From 8059f7a92c9396cb5864ca9c1174a2d275a524c5 Mon Sep 17 00:00:00 2001
From: Azhwani <13301425+azhwani@users.noreply.github.com>
Date: Wed, 28 Feb 2024 17:48:20 +0100
Subject: [PATCH] BAEL-7514: Get first n characters in a String in Java
(#15817)
---
.../core-java-string-operations-8/pom.xml | 10 +++-
.../firstnchars/FirstNCharactersUnitTest.java | 58 +++++++++++++++++++
2 files changed, 66 insertions(+), 2 deletions(-)
create mode 100644 core-java-modules/core-java-string-operations-8/src/test/java/com/baeldung/firstnchars/FirstNCharactersUnitTest.java
diff --git a/core-java-modules/core-java-string-operations-8/pom.xml b/core-java-modules/core-java-string-operations-8/pom.xml
index 0a8a194109..4e155a9851 100644
--- a/core-java-modules/core-java-string-operations-8/pom.xml
+++ b/core-java-modules/core-java-string-operations-8/pom.xml
@@ -12,13 +12,18 @@
core-java-modules
0.0.1-SNAPSHOT
+
org.apache.commons
commons-lang3
${apache.commons.lang3.version}
-
+
+ com.google.guava
+ guava
+ ${guava.version}
+
@@ -38,6 +43,7 @@
11
11
3.14.0
+ 33.0.0-jre
-
\ No newline at end of file
+
diff --git a/core-java-modules/core-java-string-operations-8/src/test/java/com/baeldung/firstnchars/FirstNCharactersUnitTest.java b/core-java-modules/core-java-string-operations-8/src/test/java/com/baeldung/firstnchars/FirstNCharactersUnitTest.java
new file mode 100644
index 0000000000..24c6998d92
--- /dev/null
+++ b/core-java-modules/core-java-string-operations-8/src/test/java/com/baeldung/firstnchars/FirstNCharactersUnitTest.java
@@ -0,0 +1,58 @@
+package com.baeldung.firstnchars;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+import org.apache.commons.lang3.StringUtils;
+import org.junit.jupiter.api.Test;
+
+import com.google.common.base.Ascii;
+
+class FirstNCharactersUnitTest {
+
+ @Test
+ void givenString_whenUsingSubstringMethod_thenGetFirstChars() {
+ String givenInput = "Hello Baeldung Readers";
+
+ assertEquals("He", givenInput.substring(0, 2));
+ }
+
+ @Test
+ void givenString_whenUsingSubSequenceMethod_thenGetFirstChars() {
+ String givenInput = "Welcome";
+
+ assertEquals("Wel", givenInput.subSequence(0, 3));
+ }
+
+ @Test
+ void givenString_whenUsingStreamApi_thenGetFirstChars() {
+ String givenInput = "The world is beautiful";
+ String result = givenInput.chars()
+ .limit(3)
+ .collect(StringBuilder::new, StringBuilder::appendCodePoint, StringBuilder::append)
+ .toString();
+
+ assertEquals("The", result);
+ }
+
+ @Test
+ void givenString_whenUsingStringUtilsSubstringMethod_thenGetFirstChars() {
+ String givenInput = "Baeldung";
+
+ assertEquals("Baeld", StringUtils.substring(givenInput, 0, 5));
+ }
+
+ @Test
+ void givenString_whenUsingStringUtilsLeftMethod_thenGetFirstChars() {
+ String givenInput = "kindness always wins";
+
+ assertEquals("kind", StringUtils.left(givenInput, 4));
+ }
+
+ @Test
+ void givenString_whenUsingGuavaTruncateMethod_thenGetFirstChars() {
+ String givenInput = "Tamassint";
+
+ assertEquals("Tama", Ascii.truncate(givenInput, 4, ""));
+ }
+
+}