diff --git a/core-java-modules/core-java-string-algorithms-3/pom.xml b/core-java-modules/core-java-string-algorithms-3/pom.xml
index 7d4adeba92..536175acc2 100644
--- a/core-java-modules/core-java-string-algorithms-3/pom.xml
+++ b/core-java-modules/core-java-string-algorithms-3/pom.xml
@@ -23,6 +23,11 @@
commons-lang3
${apache-commons-lang3.version}
+
+ com.vdurmont
+ emoji-java
+ ${emoji-java.version}
+
@@ -52,6 +57,7 @@
11
1.7
3.12.0
+ 5.1.1
\ No newline at end of file
diff --git a/core-java-modules/core-java-string-algorithms-3/src/test/java/com/baeldung/findemojis/FindEmojisUnitTest.java b/core-java-modules/core-java-string-algorithms-3/src/test/java/com/baeldung/findemojis/FindEmojisUnitTest.java
new file mode 100644
index 0000000000..3cd5b1ba97
--- /dev/null
+++ b/core-java-modules/core-java-string-algorithms-3/src/test/java/com/baeldung/findemojis/FindEmojisUnitTest.java
@@ -0,0 +1,33 @@
+package com.baeldung.findemojis;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import org.junit.Test;
+
+import com.vdurmont.emoji.EmojiManager;
+
+public class FindEmojisUnitTest {
+
+ @Test
+ public void givenAWord_whenUsingEmojiJava_thenDetectEmoji() {
+ boolean emoji = EmojiManager.isEmoji("\uD83D\uDC3B");
+ assertTrue(emoji);
+
+ boolean notEmoji = EmojiManager.isEmoji("w");
+ assertFalse(notEmoji);
+ }
+
+ @Test
+ public void givenAWord_whenUsingRegex_thenDetectEmoji() {
+ String regexPattern = "[\uD800-\uDBFF\uDC00-\uDFFF]+";
+ String emojiString = "\uD83D\uDC3B";
+ boolean emoji = emojiString.matches(regexPattern);
+ assertTrue(emoji);
+
+ String notEmojiString = "w";
+ boolean notEmoji = notEmojiString.matches(regexPattern);
+ assertFalse(notEmoji);
+ }
+
+}