From 30d09bdc450b1a49f83383407cb8bc1865ae954f Mon Sep 17 00:00:00 2001
From: panos-kakos <102670093+panos-kakos@users.noreply.github.com>
Date: Mon, 22 Apr 2024 00:29:58 +0300
Subject: [PATCH] [JAVA-33592] Created new module core-java-string-operations-9
and moved code from core-java-string-operations-7 (#16364)
---
.../core-java-string-operations-2/README.md | 2 +-
.../core-java-string-operations-3/README.md | 2 +
.../core-java-string-operations-4/README.md | 1 +
.../core-java-string-operations-5/README.md | 1 +
.../core-java-string-operations-6/README.md | 1 +
.../core-java-string-operations-7/README.md | 7 +-
.../core-java-string-operations-7/pom.xml | 29 +------
.../core-java-string-operations-8/README.md | 4 +
.../core-java-string-operations-9/README.md | 9 +++
.../core-java-string-operations-9/pom.xml | 70 +++++++++++++++++
.../com/baeldung/morse/MorseTranslator.java | 0
.../unicode/UnicodeLetterChecker.java | 0
...tainsInvalidEncodedCharactersUnitTest.java | 66 ++++++++--------
.../StringIsEmptyVsIsBlankUnitTest.java | 0
.../morse/MorseTranslatorUnitTest.java | 0
.../ReplaceNonPrintableCharsUnitTest.java | 78 +++++++++----------
.../unicode/UnicodeLetterCheckerUnitTest.java | 0
.../UTF8ValidationUnitTest.java | 0
core-java-modules/pom.xml | 1 +
19 files changed, 164 insertions(+), 107 deletions(-)
create mode 100644 core-java-modules/core-java-string-operations-9/README.md
create mode 100644 core-java-modules/core-java-string-operations-9/pom.xml
rename core-java-modules/{core-java-string-operations-7 => core-java-string-operations-9}/src/main/java/com/baeldung/morse/MorseTranslator.java (100%)
rename core-java-modules/{core-java-string-operations-7 => core-java-string-operations-9}/src/main/java/com/baeldung/unicode/UnicodeLetterChecker.java (100%)
rename core-java-modules/{core-java-string-operations-7 => core-java-string-operations-9}/src/test/java/com/baeldung/checkifstringcontainsinvalidcharacters/CheckIfStringContainsInvalidEncodedCharactersUnitTest.java (96%)
rename core-java-modules/{core-java-string-operations-7 => core-java-string-operations-9}/src/test/java/com/baeldung/isemptyvsisblank/StringIsEmptyVsIsBlankUnitTest.java (100%)
rename core-java-modules/{core-java-string-operations-7 => core-java-string-operations-9}/src/test/java/com/baeldung/morse/MorseTranslatorUnitTest.java (100%)
rename core-java-modules/{core-java-string-operations-7 => core-java-string-operations-9}/src/test/java/com/baeldung/replacenonprintablecharacters/ReplaceNonPrintableCharsUnitTest.java (97%)
rename core-java-modules/{core-java-string-operations-7 => core-java-string-operations-9}/src/test/java/com/baeldung/unicode/UnicodeLetterCheckerUnitTest.java (100%)
rename core-java-modules/{core-java-string-operations-7 => core-java-string-operations-9}/src/test/java/com/baeldung/utf8validation/UTF8ValidationUnitTest.java (100%)
diff --git a/core-java-modules/core-java-string-operations-2/README.md b/core-java-modules/core-java-string-operations-2/README.md
index 871b5525cd..d24c9c5f85 100644
--- a/core-java-modules/core-java-string-operations-2/README.md
+++ b/core-java-modules/core-java-string-operations-2/README.md
@@ -13,4 +13,4 @@ This module contains articles about string operations.
- [Encode a String to UTF-8 in Java](https://www.baeldung.com/java-string-encode-utf-8)
- [Guide to Character Encoding](https://www.baeldung.com/java-char-encoding)
- [Convert Hex to ASCII in Java](https://www.baeldung.com/java-convert-hex-to-ascii)
-- More articles: [[<-- prev]](../core-java-string-operations)
+- More articles: [[<-- prev]](../core-java-string-operations) [[next -->]](../core-java-string-operations-3)
diff --git a/core-java-modules/core-java-string-operations-3/README.md b/core-java-modules/core-java-string-operations-3/README.md
index b22cf56e3a..0bd06d4996 100644
--- a/core-java-modules/core-java-string-operations-3/README.md
+++ b/core-java-modules/core-java-string-operations-3/README.md
@@ -10,3 +10,5 @@
- [Remove Beginning and Ending Double Quotes from a String](https://www.baeldung.com/java-remove-start-end-double-quote)
- [Splitting a Java String by Multiple Delimiters](https://www.baeldung.com/java-string-split-multiple-delimiters)
- [Split a String Only on the First Occurrence of Delimiter](https://www.baeldung.com/java-split-string-first-delimiter)
+- More articles: [[<-- prev]](../core-java-string-operations-2) [[next -->]](../core-java-string-operations-4)
+
diff --git a/core-java-modules/core-java-string-operations-4/README.md b/core-java-modules/core-java-string-operations-4/README.md
index a3106e157b..a44a69b6fc 100644
--- a/core-java-modules/core-java-string-operations-4/README.md
+++ b/core-java-modules/core-java-string-operations-4/README.md
@@ -10,3 +10,4 @@
- [How to Truncate a String in Java](https://www.baeldung.com/java-truncating-strings)
- [Remove Whitespace From a String in Java](https://www.baeldung.com/java-string-remove-whitespace)
- [Named Placeholders in String Formatting](https://www.baeldung.com/java-string-formatting-named-placeholders)
+- More articles: [[<-- prev]](../core-java-string-operations-3) [[next -->]](../core-java-string-operations-5)
diff --git a/core-java-modules/core-java-string-operations-5/README.md b/core-java-modules/core-java-string-operations-5/README.md
index dffd3c1ab6..09d06ef3b9 100644
--- a/core-java-modules/core-java-string-operations-5/README.md
+++ b/core-java-modules/core-java-string-operations-5/README.md
@@ -11,3 +11,4 @@
- [Check if the First Letter of a String Is a Number](https://www.baeldung.com/java-check-if-string-starts-with-number)
- [Print “” Quotes Around a String in Java](https://www.baeldung.com/java-string-print-quotes)
- [Remove Punctuation From a String in Java](https://www.baeldung.com/java-remove-punctuation-from-string)
+- More articles: [[<-- prev]](../core-java-string-operations-4) [[next -->]](../core-java-string-operations-6)
diff --git a/core-java-modules/core-java-string-operations-6/README.md b/core-java-modules/core-java-string-operations-6/README.md
index 506b548304..bf1d512295 100644
--- a/core-java-modules/core-java-string-operations-6/README.md
+++ b/core-java-modules/core-java-string-operations-6/README.md
@@ -11,3 +11,4 @@
- [Check if a String Has All Unique Characters in Java](https://www.baeldung.com/java-check-string-all-unique-chars)
- [Performance Comparison Between Different Java String Concatenation Methods](https://www.baeldung.com/java-string-concatenation-methods)
- [Replacing Single Quote with \’ in Java String](https://www.baeldung.com/java-replacing-single-quote-string)
+- More articles: [[<-- prev]](../core-java-string-operations-5) [[next -->]](../core-java-string-operations-7)
diff --git a/core-java-modules/core-java-string-operations-7/README.md b/core-java-modules/core-java-string-operations-7/README.md
index 7264c3d945..97249b1a8b 100644
--- a/core-java-modules/core-java-string-operations-7/README.md
+++ b/core-java-modules/core-java-string-operations-7/README.md
@@ -2,17 +2,12 @@
### Relevant Articles:
- [How to Center Text Output in Java](https://www.baeldung.com/java-center-text-output)
- [Capitalize the First Letter of Each Word in a String](https://www.baeldung.com/java-string-initial-capital-letter-every-word)
-- [Check if a String Contains Only Unicode Letters](https://www.baeldung.com/java-string-all-unicode-characters)
- [Create a “Mutable” String in Java](https://www.baeldung.com/java-mutable-string)
- [Check if a String Contains a Number Value in Java](https://www.baeldung.com/java-string-number-presence)
-- [Difference Between String isEmpty() and isBlank()](https://www.baeldung.com/java-string-isempty-vs-isblank)
- [String’s Maximum Length in Java](https://www.baeldung.com/java-strings-maximum-length)
- [Java’s String.length() and String.getBytes().length](https://www.baeldung.com/java-string-length-vs-getbytes-length)
-- [Replace Non-Printable Unicode Characters in Java](https://www.baeldung.com/java-replace-non-printable-unicode-characters)
- [Check If a Java StringBuilder Object Contains a Character](https://www.baeldung.com/java-check-stringbuilder-object-contains-character)
- [Comparing One String With Multiple Values in One Expression in Java](https://www.baeldung.com/java-compare-string-multiple-values-one-expression)
-- [UTF-8 Validation in Java](https://www.baeldung.com/java-utf-8-validation)
-- [Simple Morse Code Translation in Java](https://www.baeldung.com/java-morse-code-english-translate)
-- [How to Determine if a String Contains Invalid Encoded Characters](https://www.baeldung.com/java-check-string-contains-invalid-encoded-characters)
- [Regular Expression for Password Validation in Java](https://www.baeldung.com/java-regex-password-validation)
- [Mask an Email Address and Phone Number in Java](https://www.baeldung.com/java-mask-email-address-phone-number)
+- More articles: [[<-- prev]](../core-java-string-operations-6) [[next -->]](../core-java-string-operations-8)
diff --git a/core-java-modules/core-java-string-operations-7/pom.xml b/core-java-modules/core-java-string-operations-7/pom.xml
index 19d9b39e3f..d3d9f92514 100644
--- a/core-java-modules/core-java-string-operations-7/pom.xml
+++ b/core-java-modules/core-java-string-operations-7/pom.xml
@@ -24,36 +24,10 @@
commons-text
${commons-text.version}
-
- org.apache.tika
- tika-core
- ${apache.tika.version}
-
-
- org.apache.tika
- tika-parsers-standard-package
- ${apache.tika.version}
-
-
- com.ibm.icu
- icu4j
- ${icu4j.version}
-
org.apache.commons
commons-collections4
${apache.commons.collection.version}
-
-
- org.junit.jupiter
- junit-jupiter
- 5.8.1
- test
-
-
- junit
- junit
- 4.13.2
@@ -71,8 +45,7 @@
- 11
- 11
+
3.13.0
4.4
2.9.1
diff --git a/core-java-modules/core-java-string-operations-8/README.md b/core-java-modules/core-java-string-operations-8/README.md
index 54c50b7825..22b54ad5fd 100644
--- a/core-java-modules/core-java-string-operations-8/README.md
+++ b/core-java-modules/core-java-string-operations-8/README.md
@@ -10,3 +10,7 @@
- [Converting UTF-8 to ISO-8859-1 in Java](https://www.baeldung.com/java-utf-8-iso-8859-1-conversion)
- [Get Last n Characters From a String](https://www.baeldung.com/java-string-get-last-n-characters)
- [Find the Length of the Longest Symmetric Substring](https://www.baeldung.com/java-find-length-longest-symmetric-substring)
+- More articles: [[<-- prev]](../core-java-string-operations-7) [[next -->]](../core-java-string-operations-9)
+
+
+
diff --git a/core-java-modules/core-java-string-operations-9/README.md b/core-java-modules/core-java-string-operations-9/README.md
new file mode 100644
index 0000000000..aab4178988
--- /dev/null
+++ b/core-java-modules/core-java-string-operations-9/README.md
@@ -0,0 +1,9 @@
+
+### Relevant Articles:
+- [Check if a String Contains Only Unicode Letters](https://www.baeldung.com/java-string-all-unicode-characters)
+- [Difference Between String isEmpty() and isBlank()](https://www.baeldung.com/java-string-isempty-vs-isblank)
+- [Replace Non-Printable Unicode Characters in Java](https://www.baeldung.com/java-replace-non-printable-unicode-characters)
+- [UTF-8 Validation in Java](https://www.baeldung.com/java-utf-8-validation)
+- [Simple Morse Code Translation in Java](https://www.baeldung.com/java-morse-code-english-translate)
+- [How to Determine if a String Contains Invalid Encoded Characters](https://www.baeldung.com/java-check-string-contains-invalid-encoded-characters)
+- More articles: [[<-- prev]](../core-java-string-operations-8)
diff --git a/core-java-modules/core-java-string-operations-9/pom.xml b/core-java-modules/core-java-string-operations-9/pom.xml
new file mode 100644
index 0000000000..55b0925df1
--- /dev/null
+++ b/core-java-modules/core-java-string-operations-9/pom.xml
@@ -0,0 +1,70 @@
+
+
+ 4.0.0
+ core-java-string-operations-9
+ jar
+ core-java-string-operations-9
+
+
+ com.baeldung.core-java-modules
+ core-java-modules
+ 0.0.1-SNAPSHOT
+
+
+
+
+ org.apache.commons
+ commons-lang3
+ ${apache.commons.lang3.version}
+
+
+ org.apache.commons
+ commons-text
+ ${commons-text.version}
+
+
+ org.apache.tika
+ tika-core
+ ${apache.tika.version}
+
+
+ org.apache.tika
+ tika-parsers-standard-package
+ ${apache.tika.version}
+
+
+ com.ibm.icu
+ icu4j
+ ${icu4j.version}
+
+
+ org.apache.commons
+ commons-collections4
+ ${apache.commons.collection.version}
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+
+
+ ${maven.compiler.target}
+
+
+
+
+
+
+ 3.13.0
+ 4.4
+ 2.9.1
+ 1.10.0
+ 74.1
+
+
+
\ No newline at end of file
diff --git a/core-java-modules/core-java-string-operations-7/src/main/java/com/baeldung/morse/MorseTranslator.java b/core-java-modules/core-java-string-operations-9/src/main/java/com/baeldung/morse/MorseTranslator.java
similarity index 100%
rename from core-java-modules/core-java-string-operations-7/src/main/java/com/baeldung/morse/MorseTranslator.java
rename to core-java-modules/core-java-string-operations-9/src/main/java/com/baeldung/morse/MorseTranslator.java
diff --git a/core-java-modules/core-java-string-operations-7/src/main/java/com/baeldung/unicode/UnicodeLetterChecker.java b/core-java-modules/core-java-string-operations-9/src/main/java/com/baeldung/unicode/UnicodeLetterChecker.java
similarity index 100%
rename from core-java-modules/core-java-string-operations-7/src/main/java/com/baeldung/unicode/UnicodeLetterChecker.java
rename to core-java-modules/core-java-string-operations-9/src/main/java/com/baeldung/unicode/UnicodeLetterChecker.java
diff --git a/core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/checkifstringcontainsinvalidcharacters/CheckIfStringContainsInvalidEncodedCharactersUnitTest.java b/core-java-modules/core-java-string-operations-9/src/test/java/com/baeldung/checkifstringcontainsinvalidcharacters/CheckIfStringContainsInvalidEncodedCharactersUnitTest.java
similarity index 96%
rename from core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/checkifstringcontainsinvalidcharacters/CheckIfStringContainsInvalidEncodedCharactersUnitTest.java
rename to core-java-modules/core-java-string-operations-9/src/test/java/com/baeldung/checkifstringcontainsinvalidcharacters/CheckIfStringContainsInvalidEncodedCharactersUnitTest.java
index 249587b56a..0056128042 100644
--- a/core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/checkifstringcontainsinvalidcharacters/CheckIfStringContainsInvalidEncodedCharactersUnitTest.java
+++ b/core-java-modules/core-java-string-operations-9/src/test/java/com/baeldung/checkifstringcontainsinvalidcharacters/CheckIfStringContainsInvalidEncodedCharactersUnitTest.java
@@ -1,33 +1,33 @@
-package com.baeldung.checkifstringcontainsinvalidcharacters;
-
-import org.junit.jupiter.api.Test;
-
-import java.nio.charset.*;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import static org.junit.jupiter.api.Assertions.*;
-import static org.junit.jupiter.api.Assertions.assertTrue;
-
-public class CheckIfStringContainsInvalidEncodedCharactersUnitTest {
-
- public String input = "HÆllo, World!";
-
- @Test
- public void givenInputString_whenUsingRegexPattern_thenFindIfInvalidCharacters() {
- String regexPattern = "[^\\x00-\\x7F]+";
- Pattern pattern = Pattern.compile(regexPattern);
- Matcher matcher = pattern.matcher(input);
- assertTrue(matcher.find());
- }
-
- @Test
- public void givenInputString_whenUsingStringEncoding_thenFindIfInvalidCharacters() {
- byte[] bytes = input.getBytes(StandardCharsets.UTF_8);
- boolean found = false;
- for (byte b : bytes) {
- found = (b & 0xFF) > 127 ? true : found;
- }
- assertTrue(found);
- }
-}
+package com.baeldung.checkifstringcontainsinvalidcharacters;
+
+import org.junit.jupiter.api.Test;
+
+import java.nio.charset.*;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import static org.junit.jupiter.api.Assertions.*;
+import static org.junit.jupiter.api.Assertions.assertTrue;
+
+public class CheckIfStringContainsInvalidEncodedCharactersUnitTest {
+
+ public String input = "HÆllo, World!";
+
+ @Test
+ public void givenInputString_whenUsingRegexPattern_thenFindIfInvalidCharacters() {
+ String regexPattern = "[^\\x00-\\x7F]+";
+ Pattern pattern = Pattern.compile(regexPattern);
+ Matcher matcher = pattern.matcher(input);
+ assertTrue(matcher.find());
+ }
+
+ @Test
+ public void givenInputString_whenUsingStringEncoding_thenFindIfInvalidCharacters() {
+ byte[] bytes = input.getBytes(StandardCharsets.UTF_8);
+ boolean found = false;
+ for (byte b : bytes) {
+ found = (b & 0xFF) > 127 ? true : found;
+ }
+ assertTrue(found);
+ }
+}
diff --git a/core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/isemptyvsisblank/StringIsEmptyVsIsBlankUnitTest.java b/core-java-modules/core-java-string-operations-9/src/test/java/com/baeldung/isemptyvsisblank/StringIsEmptyVsIsBlankUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/isemptyvsisblank/StringIsEmptyVsIsBlankUnitTest.java
rename to core-java-modules/core-java-string-operations-9/src/test/java/com/baeldung/isemptyvsisblank/StringIsEmptyVsIsBlankUnitTest.java
diff --git a/core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/morse/MorseTranslatorUnitTest.java b/core-java-modules/core-java-string-operations-9/src/test/java/com/baeldung/morse/MorseTranslatorUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/morse/MorseTranslatorUnitTest.java
rename to core-java-modules/core-java-string-operations-9/src/test/java/com/baeldung/morse/MorseTranslatorUnitTest.java
diff --git a/core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/replacenonprintablecharacters/ReplaceNonPrintableCharsUnitTest.java b/core-java-modules/core-java-string-operations-9/src/test/java/com/baeldung/replacenonprintablecharacters/ReplaceNonPrintableCharsUnitTest.java
similarity index 97%
rename from core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/replacenonprintablecharacters/ReplaceNonPrintableCharsUnitTest.java
rename to core-java-modules/core-java-string-operations-9/src/test/java/com/baeldung/replacenonprintablecharacters/ReplaceNonPrintableCharsUnitTest.java
index 47a373cd70..fe038aa8d9 100644
--- a/core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/replacenonprintablecharacters/ReplaceNonPrintableCharsUnitTest.java
+++ b/core-java-modules/core-java-string-operations-9/src/test/java/com/baeldung/replacenonprintablecharacters/ReplaceNonPrintableCharsUnitTest.java
@@ -1,39 +1,39 @@
-package com.baeldung.replacenonprintablecharacters;
-
-import org.junit.jupiter.api.Test;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-public class ReplaceNonPrintableCharsUnitTest {
- @Test
- public void givenTextWithNonPrintableChars_whenUsingRegularExpression_thenGetSanitizedText() {
- String originalText = "\n\nWelcome \n\n\n\tto Baeldung!\n\t";
- String expected = "Welcome to Baeldung!";
- String regex = "[\\p{C}]";
-
- Pattern pattern = Pattern.compile(regex);
- Matcher matcher = pattern.matcher(originalText);
- String sanitizedText = matcher.replaceAll("");
-
- assertEquals(expected, sanitizedText);
- }
-
- @Test
- public void givenTextWithNonPrintableChars_whenCustomImplementation_thenGetSanitizedText() {
- String originalText = "\n\nWelcome \n\n\n\tto Baeldung!\n\t";
- String expected = "Welcome to Baeldung!";
-
- StringBuilder strBuilder = new StringBuilder();
- originalText.codePoints().forEach((i) -> {
- if (i >= 32 && i != 127) {
- strBuilder.append(Character.toChars(i));
- }
- });
-
- assertEquals(expected, strBuilder.toString());
- }
-
-}
+package com.baeldung.replacenonprintablecharacters;
+
+import org.junit.jupiter.api.Test;
+
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+public class ReplaceNonPrintableCharsUnitTest {
+ @Test
+ public void givenTextWithNonPrintableChars_whenUsingRegularExpression_thenGetSanitizedText() {
+ String originalText = "\n\nWelcome \n\n\n\tto Baeldung!\n\t";
+ String expected = "Welcome to Baeldung!";
+ String regex = "[\\p{C}]";
+
+ Pattern pattern = Pattern.compile(regex);
+ Matcher matcher = pattern.matcher(originalText);
+ String sanitizedText = matcher.replaceAll("");
+
+ assertEquals(expected, sanitizedText);
+ }
+
+ @Test
+ public void givenTextWithNonPrintableChars_whenCustomImplementation_thenGetSanitizedText() {
+ String originalText = "\n\nWelcome \n\n\n\tto Baeldung!\n\t";
+ String expected = "Welcome to Baeldung!";
+
+ StringBuilder strBuilder = new StringBuilder();
+ originalText.codePoints().forEach((i) -> {
+ if (i >= 32 && i != 127) {
+ strBuilder.append(Character.toChars(i));
+ }
+ });
+
+ assertEquals(expected, strBuilder.toString());
+ }
+
+}
diff --git a/core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/unicode/UnicodeLetterCheckerUnitTest.java b/core-java-modules/core-java-string-operations-9/src/test/java/com/baeldung/unicode/UnicodeLetterCheckerUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/unicode/UnicodeLetterCheckerUnitTest.java
rename to core-java-modules/core-java-string-operations-9/src/test/java/com/baeldung/unicode/UnicodeLetterCheckerUnitTest.java
diff --git a/core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/utf8validation/UTF8ValidationUnitTest.java b/core-java-modules/core-java-string-operations-9/src/test/java/com/baeldung/utf8validation/UTF8ValidationUnitTest.java
similarity index 100%
rename from core-java-modules/core-java-string-operations-7/src/test/java/com/baeldung/utf8validation/UTF8ValidationUnitTest.java
rename to core-java-modules/core-java-string-operations-9/src/test/java/com/baeldung/utf8validation/UTF8ValidationUnitTest.java
diff --git a/core-java-modules/pom.xml b/core-java-modules/pom.xml
index 7680701382..4e9fb0abde 100644
--- a/core-java-modules/pom.xml
+++ b/core-java-modules/pom.xml
@@ -205,6 +205,7 @@
core-java-string-operations-6
core-java-string-operations-7
core-java-string-operations-8
+ core-java-string-operations-9
core-java-regex
core-java-regex-2
core-java-regex-3