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..1122cbec6d 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,16 @@
commons-lang3
${apache-commons-lang3.version}
+
+ com.kcthota
+ emoji4j
+ 6.0
+
+
+ com.vdurmont
+ emoji-java
+ 5.1.1
+
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..2400e052b3
--- /dev/null
+++ b/core-java-modules/core-java-string-algorithms-3/src/test/java/com/baeldung/findemojis/FindEmojisUnitTest.java
@@ -0,0 +1,44 @@
+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;
+
+import emoji4j.EmojiUtils;
+
+public class FindEmojisUnitTest {
+
+ @Test
+ public void givenAWord_whenUsingEmoji4J_thenDetectEmoji() {
+ boolean emoji = EmojiUtils.isEmoji("\uD83D\uDC3B");
+ assertTrue(emoji);
+
+ boolean notEmoji = EmojiUtils.isEmoji("w");
+ assertFalse(notEmoji);
+ }
+
+ @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);
+ }
+
+}