diff --git a/java-strings-2/README.MD b/java-strings-2/README.MD
index c6d4f0222a..b4b16fbaef 100644
--- a/java-strings-2/README.MD
+++ b/java-strings-2/README.MD
@@ -3,5 +3,20 @@
- [Java Localization – Formatting Messages](https://www.baeldung.com/java-localization-messages-formatting)
- [Check If a String Contains a Substring](https://www.baeldung.com/java-string-contains-substring)
- [Removing Stopwords from a String in Java](https://www.baeldung.com/java-string-remove-stopwords)
+- [Java – Generate Random String](http://www.baeldung.com/java-random-string)
+- [Image to Base64 String Conversion](http://www.baeldung.com/java-base64-image-string)
+- [Java Base64 Encoding and Decoding](https://www.baeldung.com/java-base64-encode-and-decode)
+- [Generate a Secure Random Password in Java](https://www.baeldung.com/java-generate-secure-password)
+- [Removing Repeated Characters from a String](https://www.baeldung.com/java-remove-repeated-char)
+- [Join Array of Primitives with Separator in Java](https://www.baeldung.com/java-join-primitive-array)
+- [Pad a String with Zeros or Spaces in Java](https://www.baeldung.com/java-pad-string)
+- [Remove Emojis from a Java String](https://www.baeldung.com/java-string-remove-emojis)
+- [Convert a Comma Separated String to a List in Java](https://www.baeldung.com/java-string-with-separator-to-list)
+- [Guide to java.util.Formatter](http://www.baeldung.com/java-string-formatter)
+- [Remove Leading and Trailing Characters from a String](https://www.baeldung.com/java-remove-trailing-characters)
+- [Concatenating Strings In Java](https://www.baeldung.com/java-strings-concatenation)
+- [Java String Interview Questions and Answers](https://www.baeldung.com/java-string-interview-questions)
+- [Check if a String is a Pangram in Java](https://www.baeldung.com/java-string-pangram)
+- [Check If a String Contains Multiple Keywords](https://www.baeldung.com/string-contains-multiple-words)
- [Blank and Empty Strings in Java](https://www.baeldung.com/java-blank-empty-strings)
- [String Initialization in Java](https://www.baeldung.com/java-string-initialization)
diff --git a/java-strings-2/pom.xml b/java-strings-2/pom.xml
index 7342953d15..be47b1ec89 100755
--- a/java-strings-2/pom.xml
+++ b/java-strings-2/pom.xml
@@ -40,6 +40,16 @@
commons-lang3${commons-lang3.version}
+
+ commons-io
+ commons-io
+ ${commons-io.version}
+
+
+ commons-codec
+ commons-codec
+ ${commons-codec.version}
+ junitjunit
@@ -52,32 +62,54 @@
${org.hamcrest.version}test
+
+ org.assertj
+ assertj-core
+ ${assertj.version}
+ test
+
+
+
+
+ org.passay
+ passay
+ ${passay.version}
+ org.apache.commonscommons-text${commons-text.version}
+
+ com.vdurmont
+ emoji-java
+ ${emoji-java.version}
+
+
+ org.ahocorasick
+ ahocorasick
+ ${ahocorasick.version}
+ javax.validationvalidation-api
- 2.0.0.Final
+ ${validation-api.version}org.hibernate.validatorhibernate-validator
- 6.0.2.Final
+ ${hibernate-validator.version}javax.eljavax.el-api
- 3.0.0
+ ${javax.el-api.version}org.glassfish.webjavax.el
- 2.2.6
+ ${javax.el.version}
-
@@ -105,9 +137,19 @@
3.8.1
+ 1.10
+ 1.3.1
+
+ 3.6.1
+ 4.0.0
+ 0.4.061.128.0-jre1.4
+ 2.0.0.Final
+ 6.0.2.Final
+ 3.0.0
+ 2.2.6
\ No newline at end of file
diff --git a/java-strings/src/main/java/com/baeldung/string/MatchWords.java b/java-strings-2/src/main/java/com/baeldung/string/MatchWords.java
similarity index 100%
rename from java-strings/src/main/java/com/baeldung/string/MatchWords.java
rename to java-strings-2/src/main/java/com/baeldung/string/MatchWords.java
diff --git a/java-strings/src/main/java/com/baeldung/string/Pangram.java b/java-strings-2/src/main/java/com/baeldung/string/Pangram.java
similarity index 100%
rename from java-strings/src/main/java/com/baeldung/string/Pangram.java
rename to java-strings-2/src/main/java/com/baeldung/string/Pangram.java
diff --git a/java-strings/src/main/java/com/baeldung/string/padding/StringPaddingUtil.java b/java-strings-2/src/main/java/com/baeldung/string/padding/StringPaddingUtil.java
similarity index 100%
rename from java-strings/src/main/java/com/baeldung/string/padding/StringPaddingUtil.java
rename to java-strings-2/src/main/java/com/baeldung/string/padding/StringPaddingUtil.java
diff --git a/java-strings/src/main/java/com/baeldung/string/password/RandomPasswordGenerator.java b/java-strings-2/src/main/java/com/baeldung/string/password/RandomPasswordGenerator.java
similarity index 100%
rename from java-strings/src/main/java/com/baeldung/string/password/RandomPasswordGenerator.java
rename to java-strings-2/src/main/java/com/baeldung/string/password/RandomPasswordGenerator.java
diff --git a/java-strings/src/main/java/com/baeldung/string/removeleadingtrailingchar/RemoveLeadingAndTrailingZeroes.java b/java-strings-2/src/main/java/com/baeldung/string/removeleadingtrailingchar/RemoveLeadingAndTrailingZeroes.java
similarity index 100%
rename from java-strings/src/main/java/com/baeldung/string/removeleadingtrailingchar/RemoveLeadingAndTrailingZeroes.java
rename to java-strings-2/src/main/java/com/baeldung/string/removeleadingtrailingchar/RemoveLeadingAndTrailingZeroes.java
diff --git a/java-strings/src/main/java/com/baeldung/stringduplicates/RemoveDuplicateFromString.java b/java-strings-2/src/main/java/com/baeldung/stringduplicates/RemoveDuplicateFromString.java
similarity index 100%
rename from java-strings/src/main/java/com/baeldung/stringduplicates/RemoveDuplicateFromString.java
rename to java-strings-2/src/main/java/com/baeldung/stringduplicates/RemoveDuplicateFromString.java
diff --git a/java-strings/src/test/java/com/baeldung/ConvertStringToListUnitTest.java b/java-strings-2/src/test/java/com/baeldung/ConvertStringToListUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/ConvertStringToListUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/ConvertStringToListUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/StringConcatenationUnitTest.java b/java-strings-2/src/test/java/com/baeldung/StringConcatenationUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/StringConcatenationUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/StringConcatenationUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/fileToBase64StringConversion/FileToBase64StringConversionUnitTest.java b/java-strings-2/src/test/java/com/baeldung/fileToBase64StringConversion/FileToBase64StringConversionUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/fileToBase64StringConversion/FileToBase64StringConversionUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/fileToBase64StringConversion/FileToBase64StringConversionUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/java8/base64/ApacheCommonsEncodeDecodeUnitTest.java b/java-strings-2/src/test/java/com/baeldung/java8/base64/ApacheCommonsEncodeDecodeUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/java8/base64/ApacheCommonsEncodeDecodeUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/java8/base64/ApacheCommonsEncodeDecodeUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/java8/base64/Java8EncodeDecodeUnitTest.java b/java-strings-2/src/test/java/com/baeldung/java8/base64/Java8EncodeDecodeUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/java8/base64/Java8EncodeDecodeUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/java8/base64/Java8EncodeDecodeUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/java8/base64/StringToByteArrayUnitTest.java b/java-strings-2/src/test/java/com/baeldung/java8/base64/StringToByteArrayUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/java8/base64/StringToByteArrayUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/java8/base64/StringToByteArrayUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/MatchWordsUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/MatchWordsUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/MatchWordsUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/MatchWordsUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/PangramUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/PangramUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/PangramUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/PangramUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/RemovingEmojiFromStringUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/RemovingEmojiFromStringUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/RemovingEmojiFromStringUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/RemovingEmojiFromStringUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/StringFromPrimitiveArrayUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/StringFromPrimitiveArrayUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/StringFromPrimitiveArrayUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/StringFromPrimitiveArrayUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/formatter/DateToStringFormatterUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/formatter/DateToStringFormatterUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/formatter/DateToStringFormatterUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/formatter/DateToStringFormatterUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/formatter/StringFormatterExampleUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/formatter/StringFormatterExampleUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/formatter/StringFormatterExampleUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/formatter/StringFormatterExampleUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/interview/LocaleUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/interview/LocaleUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/interview/LocaleUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/interview/LocaleUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/interview/StringAnagramUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/interview/StringAnagramUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/interview/StringAnagramUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/interview/StringAnagramUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/interview/StringChangeCaseUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/interview/StringChangeCaseUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/interview/StringChangeCaseUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/interview/StringChangeCaseUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/interview/StringCountOccurrencesUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/interview/StringCountOccurrencesUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/interview/StringCountOccurrencesUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/interview/StringCountOccurrencesUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/interview/StringFormatUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/interview/StringFormatUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/interview/StringFormatUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/interview/StringFormatUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/interview/StringInternUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/interview/StringInternUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/interview/StringInternUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/interview/StringInternUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/interview/StringJoinerUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/interview/StringJoinerUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/interview/StringJoinerUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/interview/StringJoinerUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/interview/StringPalindromeUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/interview/StringPalindromeUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/interview/StringPalindromeUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/interview/StringPalindromeUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/interview/StringReverseUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/interview/StringReverseUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/interview/StringReverseUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/interview/StringReverseUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/interview/StringSplitUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/interview/StringSplitUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/interview/StringSplitUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/interview/StringSplitUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/interview/StringToByteArrayUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/interview/StringToByteArrayUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/interview/StringToByteArrayUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/interview/StringToByteArrayUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/interview/StringToCharArrayUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/interview/StringToCharArrayUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/interview/StringToCharArrayUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/interview/StringToCharArrayUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/interview/StringToIntegerUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/interview/StringToIntegerUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/interview/StringToIntegerUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/interview/StringToIntegerUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/padding/StringPaddingUtilUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/padding/StringPaddingUtilUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/padding/StringPaddingUtilUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/padding/StringPaddingUtilUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/password/StringPasswordUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/password/StringPasswordUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/password/StringPasswordUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/password/StringPasswordUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/removeleadingtrailingchar/RemoveLeadingAndTrailingZeroesUnitTest.java b/java-strings-2/src/test/java/com/baeldung/string/removeleadingtrailingchar/RemoveLeadingAndTrailingZeroesUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/removeleadingtrailingchar/RemoveLeadingAndTrailingZeroesUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/string/removeleadingtrailingchar/RemoveLeadingAndTrailingZeroesUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/stringduplicates/RemoveDuplicateFromStringUnitTest.java b/java-strings-2/src/test/java/com/baeldung/stringduplicates/RemoveDuplicateFromStringUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/stringduplicates/RemoveDuplicateFromStringUnitTest.java
rename to java-strings-2/src/test/java/com/baeldung/stringduplicates/RemoveDuplicateFromStringUnitTest.java
diff --git a/java-strings/src/test/resources/test_image.jpg b/java-strings-2/src/test/resources/test_image.jpg
similarity index 100%
rename from java-strings/src/test/resources/test_image.jpg
rename to java-strings-2/src/test/resources/test_image.jpg
diff --git a/java-strings-ops/README.md b/java-strings-ops/README.md
new file mode 100644
index 0000000000..d909f171a7
--- /dev/null
+++ b/java-strings-ops/README.md
@@ -0,0 +1,22 @@
+=========
+
+## Java Strings Cookbooks and Examples
+
+### Relevant Articles:
+- [Convert char to String in Java](http://www.baeldung.com/java-convert-char-to-string)
+- [Convert String to int or Integer in Java](http://www.baeldung.com/java-convert-string-to-int-or-integer)
+- [Java String Conversions](https://www.baeldung.com/java-string-conversions)
+- [Check if a String is a Palindrome](http://www.baeldung.com/java-palindrome)
+- [Comparing Strings in Java](http://www.baeldung.com/java-compare-strings)
+- [Check If a String Is Numeric in Java](http://www.baeldung.com/java-check-string-number)
+- [Get Substring from String in Java](https://www.baeldung.com/java-substring)
+- [How to Remove the Last Character of a String?](http://www.baeldung.com/java-remove-last-character-of-string)
+- [Add a Character to a String at a Given Position](https://www.baeldung.com/java-add-character-to-string)
+- [Count Occurrences of a Char in a String](http://www.baeldung.com/java-count-chars)
+- [Guide to Java String Pool](http://www.baeldung.com/java-string-pool)
+- [Split a String in Java](http://www.baeldung.com/java-split-string)
+- [Common String Operations in Java](https://www.baeldung.com/java-string-operations)
+- [Convert String to Byte Array and Reverse in Java](https://www.baeldung.com/java-string-to-byte-array)
+- [Java toString() Method](https://www.baeldung.com/java-tostring)
+- [CharSequence vs. String in Java](http://www.baeldung.com/java-char-sequence-string)
+- [StringBuilder and StringBuffer in Java](http://www.baeldung.com/java-string-builder-string-buffer)
\ No newline at end of file
diff --git a/java-strings-ops/pom.xml b/java-strings-ops/pom.xml
new file mode 100644
index 0000000000..b6a7ea2728
--- /dev/null
+++ b/java-strings-ops/pom.xml
@@ -0,0 +1,99 @@
+
+ 4.0.0
+ com.baeldung
+ java-strings-ops
+ 0.1.0-SNAPSHOT
+ jar
+ java-strings-ops
+
+
+ com.baeldung
+ parent-java
+ 0.0.1-SNAPSHOT
+ ../parent-java
+
+
+
+
+ org.apache.commons
+ commons-lang3
+ ${commons-lang3.version}
+
+
+ log4j
+ log4j
+ ${log4j.version}
+
+
+
+ org.assertj
+ assertj-core
+ ${assertj.version}
+ test
+
+
+ org.openjdk.jmh
+ jmh-core
+ ${jmh-core.version}
+
+
+ org.openjdk.jmh
+ jmh-generator-annprocess
+ ${jmh-generator.version}
+
+
+ com.google.guava
+ guava
+ ${guava.version}
+
+
+
+ org.junit.jupiter
+ junit-jupiter-api
+ ${junit-jupiter-api.version}
+ test
+
+
+
+ org.hamcrest
+ hamcrest-library
+ ${org.hamcrest.version}
+ test
+
+
+
+
+
+ java-strings-ops
+
+
+ src/main/resources
+ true
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${maven-compiler-plugin.version}
+
+ ${java.version}
+ ${java.version}
+ -parameters
+
+
+
+
+
+
+
+ 3.8.1
+
+ 3.6.1
+ 27.0.1-jre
+ 5.3.1
+
+
+
diff --git a/java-strings/src/main/java/com/baeldung/datetime/UseLocalDateTime.java b/java-strings-ops/src/main/java/com/baeldung/datetime/UseLocalDateTime.java
similarity index 100%
rename from java-strings/src/main/java/com/baeldung/datetime/UseLocalDateTime.java
rename to java-strings-ops/src/main/java/com/baeldung/datetime/UseLocalDateTime.java
diff --git a/java-strings/src/main/java/com/baeldung/string/AppendCharAtPositionX.java b/java-strings-ops/src/main/java/com/baeldung/string/AppendCharAtPositionX.java
similarity index 100%
rename from java-strings/src/main/java/com/baeldung/string/AppendCharAtPositionX.java
rename to java-strings-ops/src/main/java/com/baeldung/string/AppendCharAtPositionX.java
diff --git a/java-strings/src/main/java/com/baeldung/string/Palindrome.java b/java-strings-ops/src/main/java/com/baeldung/string/Palindrome.java
similarity index 100%
rename from java-strings/src/main/java/com/baeldung/string/Palindrome.java
rename to java-strings-ops/src/main/java/com/baeldung/string/Palindrome.java
diff --git a/java-strings/src/main/java/com/baeldung/string/StringHelper.java b/java-strings-ops/src/main/java/com/baeldung/string/StringHelper.java
similarity index 100%
rename from java-strings/src/main/java/com/baeldung/string/StringHelper.java
rename to java-strings-ops/src/main/java/com/baeldung/string/StringHelper.java
diff --git a/java-strings/src/main/java/com/baeldung/string/tostring/Customer.java b/java-strings-ops/src/main/java/com/baeldung/string/tostring/Customer.java
similarity index 100%
rename from java-strings/src/main/java/com/baeldung/string/tostring/Customer.java
rename to java-strings-ops/src/main/java/com/baeldung/string/tostring/Customer.java
diff --git a/java-strings/src/main/java/com/baeldung/string/tostring/CustomerArrayToString.java b/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerArrayToString.java
similarity index 100%
rename from java-strings/src/main/java/com/baeldung/string/tostring/CustomerArrayToString.java
rename to java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerArrayToString.java
diff --git a/java-strings/src/main/java/com/baeldung/string/tostring/CustomerComplexObjectToString.java b/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerComplexObjectToString.java
similarity index 100%
rename from java-strings/src/main/java/com/baeldung/string/tostring/CustomerComplexObjectToString.java
rename to java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerComplexObjectToString.java
diff --git a/java-strings/src/main/java/com/baeldung/string/tostring/CustomerPrimitiveToString.java b/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerPrimitiveToString.java
similarity index 100%
rename from java-strings/src/main/java/com/baeldung/string/tostring/CustomerPrimitiveToString.java
rename to java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerPrimitiveToString.java
diff --git a/java-strings/src/main/java/com/baeldung/string/tostring/CustomerReflectionToString.java b/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerReflectionToString.java
similarity index 100%
rename from java-strings/src/main/java/com/baeldung/string/tostring/CustomerReflectionToString.java
rename to java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerReflectionToString.java
diff --git a/java-strings/src/main/java/com/baeldung/string/tostring/CustomerWrapperCollectionToString.java b/java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerWrapperCollectionToString.java
similarity index 100%
rename from java-strings/src/main/java/com/baeldung/string/tostring/CustomerWrapperCollectionToString.java
rename to java-strings-ops/src/main/java/com/baeldung/string/tostring/CustomerWrapperCollectionToString.java
diff --git a/java-strings/src/main/java/com/baeldung/string/tostring/Order.java b/java-strings-ops/src/main/java/com/baeldung/string/tostring/Order.java
similarity index 100%
rename from java-strings/src/main/java/com/baeldung/string/tostring/Order.java
rename to java-strings-ops/src/main/java/com/baeldung/string/tostring/Order.java
diff --git a/java-strings-ops/src/main/resources/logback.xml b/java-strings-ops/src/main/resources/logback.xml
new file mode 100644
index 0000000000..7d900d8ea8
--- /dev/null
+++ b/java-strings-ops/src/main/resources/logback.xml
@@ -0,0 +1,13 @@
+
+
+
+
+ %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/java-strings/src/test/java/com/baeldung/CharToStringUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/CharToStringUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/CharToStringUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/CharToStringUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/java/conversion/README.md b/java-strings-ops/src/test/java/com/baeldung/java/conversion/README.md
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/java/conversion/README.md
rename to java-strings-ops/src/test/java/com/baeldung/java/conversion/README.md
diff --git a/java-strings/src/test/java/com/baeldung/java/conversion/StringConversionUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/java/conversion/StringConversionUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/java/conversion/StringConversionUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/java/conversion/StringConversionUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/java/countingChars/CountCharsExampleUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/java/countingChars/CountCharsExampleUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/java/countingChars/CountCharsExampleUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/java/countingChars/CountCharsExampleUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/AppendCharAtPositionXUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/AppendCharAtPositionXUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/AppendCharAtPositionXUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/string/AppendCharAtPositionXUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/CharSequenceVsStringUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/CharSequenceVsStringUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/CharSequenceVsStringUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/string/CharSequenceVsStringUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/PalindromeUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/PalindromeUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/PalindromeUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/string/PalindromeUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/SplitUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/SplitUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/SplitUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/string/SplitUnitTest.java
diff --git a/java-strings/src/main/java/com/baeldung/string/StringBufferStringBuilder.java b/java-strings-ops/src/test/java/com/baeldung/string/StringBufferStringBuilder.java
similarity index 100%
rename from java-strings/src/main/java/com/baeldung/string/StringBufferStringBuilder.java
rename to java-strings-ops/src/test/java/com/baeldung/string/StringBufferStringBuilder.java
diff --git a/java-strings/src/test/java/com/baeldung/string/StringComparisonUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/StringComparisonUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/StringComparisonUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/string/StringComparisonUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/StringHelperUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/StringHelperUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/StringHelperUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/string/StringHelperUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/SubstringUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/SubstringUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/SubstringUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/string/SubstringUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/conversion/ByteArrayToStringUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/conversion/ByteArrayToStringUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/conversion/ByteArrayToStringUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/string/conversion/ByteArrayToStringUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/conversion/StringToByteArrayUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/conversion/StringToByteArrayUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/conversion/StringToByteArrayUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/string/conversion/StringToByteArrayUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/tostring/CustomerArrayToStringUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerArrayToStringUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/tostring/CustomerArrayToStringUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerArrayToStringUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/tostring/CustomerComplexObjectToStringUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerComplexObjectToStringUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/tostring/CustomerComplexObjectToStringUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerComplexObjectToStringUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/tostring/CustomerPrimitiveToStringUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerPrimitiveToStringUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/tostring/CustomerPrimitiveToStringUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerPrimitiveToStringUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/string/tostring/CustomerWrapperCollectionToStringUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerWrapperCollectionToStringUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/string/tostring/CustomerWrapperCollectionToStringUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/string/tostring/CustomerWrapperCollectionToStringUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/stringisnumeric/CoreJavaIsNumericUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/stringisnumeric/CoreJavaIsNumericUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/stringisnumeric/CoreJavaIsNumericUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/stringisnumeric/CoreJavaIsNumericUnitTest.java
diff --git a/java-strings/src/test/java/com/baeldung/stringpool/StringPoolUnitTest.java b/java-strings-ops/src/test/java/com/baeldung/stringpool/StringPoolUnitTest.java
similarity index 100%
rename from java-strings/src/test/java/com/baeldung/stringpool/StringPoolUnitTest.java
rename to java-strings-ops/src/test/java/com/baeldung/stringpool/StringPoolUnitTest.java
diff --git a/java-strings-ops/src/test/resources/.gitignore b/java-strings-ops/src/test/resources/.gitignore
new file mode 100644
index 0000000000..83c05e60c8
--- /dev/null
+++ b/java-strings-ops/src/test/resources/.gitignore
@@ -0,0 +1,13 @@
+*.class
+
+#folders#
+/target
+/neoDb*
+/data
+/src/main/webapp/WEB-INF/classes
+*/META-INF/*
+
+# Packaged files #
+*.jar
+*.war
+*.ear
\ No newline at end of file
diff --git a/java-strings/README.md b/java-strings/README.md
index b342f53918..ef536b4099 100644
--- a/java-strings/README.md
+++ b/java-strings/README.md
@@ -6,51 +6,18 @@
- [String Operations with Java Streams](http://www.baeldung.com/java-stream-operations-on-strings)
- [Converting String to Stream of chars](http://www.baeldung.com/java-string-to-stream)
- [Java 8 StringJoiner](http://www.baeldung.com/java-string-joiner)
-- [Image to Base64 String Conversion](http://www.baeldung.com/java-base64-image-string)
-- [Java – Generate Random String](http://www.baeldung.com/java-random-string)
-- [Convert char to String in Java](http://www.baeldung.com/java-convert-char-to-string)
-- [Convert String to int or Integer in Java](http://www.baeldung.com/java-convert-string-to-int-or-integer)
-- [Java String Conversions](https://www.baeldung.com/java-string-conversions)
- [Converting Strings to Enums in Java](http://www.baeldung.com/java-string-to-enum)
- [Quick Guide to the Java StringTokenizer](http://www.baeldung.com/java-stringtokenizer)
-- [Count Occurrences of a Char in a String](http://www.baeldung.com/java-count-chars)
-- [Split a String in Java](http://www.baeldung.com/java-split-string)
-- [How to Remove the Last Character of a String?](http://www.baeldung.com/java-remove-last-character-of-string)
-- [CharSequence vs. String in Java](http://www.baeldung.com/java-char-sequence-string)
-- [StringBuilder and StringBuffer in Java](http://www.baeldung.com/java-string-builder-string-buffer)
-- [Guide to Java String Pool](http://www.baeldung.com/java-string-pool)
-- [Check if a String is a Palindrome](http://www.baeldung.com/java-palindrome)
-- [Comparing Strings in Java](http://www.baeldung.com/java-compare-strings)
-- [Check If a String Is Numeric in Java](http://www.baeldung.com/java-check-string-number)
- [Use char[] Array Over a String for Manipulating Passwords in Java?](http://www.baeldung.com/java-storing-passwords)
- [Convert a String to Title Case](http://www.baeldung.com/java-string-title-case)
- [Compact Strings in Java 9](http://www.baeldung.com/java-9-compact-string)
- [Java Check a String for Lowercase/Uppercase Letter, Special Character and Digit](https://www.baeldung.com/java-lowercase-uppercase-special-character-digit-regex)
- [Convert java.util.Date to String](https://www.baeldung.com/java-util-date-to-string)
-- [Get Substring from String in Java](https://www.baeldung.com/java-substring)
- [Converting a Stack Trace to a String in Java](https://www.baeldung.com/java-stacktrace-to-string)
- [Sorting a String Alphabetically in Java](https://www.baeldung.com/java-sort-string-alphabetically)
-- [Remove Emojis from a Java String](https://www.baeldung.com/java-string-remove-emojis)
- [String Not Empty Test Assertions in Java](https://www.baeldung.com/java-assert-string-not-empty)
- [String Performance Hints](https://www.baeldung.com/java-string-performance)
- [Using indexOf to Find All Occurrences of a Word in a String](https://www.baeldung.com/java-indexOf-find-string-occurrences)
-- [Convert String to Byte Array and Reverse in Java](https://www.baeldung.com/java-string-to-byte-array)
-- [Java Base64 Encoding and Decoding](https://www.baeldung.com/java-base64-encode-and-decode)
-- [Generate a Secure Random Password in Java](https://www.baeldung.com/java-generate-secure-password)
-- [Removing Repeated Characters from a String](https://www.baeldung.com/java-remove-repeated-char)
-- [Join Array of Primitives with Separator in Java](https://www.baeldung.com/java-join-primitive-array)
-- [Convert String to Byte Array and Reverse in Java](https://www.baeldung.com/java-string-to-byte-array)
-- [Pad a String with Zeros or Spaces in Java](https://www.baeldung.com/java-pad-string)
- [Adding a Newline Character to a String in Java](https://www.baeldung.com/java-string-newline)
- [Remove or Replace part of a String in Java](https://www.baeldung.com/java-remove-replace-string-part)
-- [Replace a Character at a Specific Index in a String in Java](https://www.baeldung.com/java-replace-character-at-index)
-- [Convert a Comma Separated String to a List in Java](https://www.baeldung.com/java-string-with-separator-to-list)
-- [Guide to java.util.Formatter](http://www.baeldung.com/java-string-formatter)
-- [Add a Character to a String at a Given Position](https://www.baeldung.com/java-add-character-to-string)
-- [Remove Leading and Trailing Characters from a String](https://www.baeldung.com/java-remove-trailing-characters)
-- [Concatenating Strings In Java](https://www.baeldung.com/java-strings-concatenation)
-- [Java toString() Method](https://www.baeldung.com/java-tostring)
-- [Java String Interview Questions and Answers](https://www.baeldung.com/java-string-interview-questions)
-- [Check if a String is a Pangram in Java](https://www.baeldung.com/java-string-pangram)
-- [Check If a String Contains Multiple Keywords](https://www.baeldung.com/string-contains-multiple-words)
-- [Common String Operations in Java](https://www.baeldung.com/java-string-operations)
+- [Replace a Character at a Specific Index in a String in Java](https://www.baeldung.com/java-replace-character-at-index)
\ No newline at end of file
diff --git a/java-strings/pom.xml b/java-strings/pom.xml
index 7f66b95355..42a57bfb42 100755
--- a/java-strings/pom.xml
+++ b/java-strings/pom.xml
@@ -62,12 +62,6 @@
guava${guava.version}
-
-
- com.vdurmont
- emoji-java
- ${emoji-java.version}
- org.junit.jupiter
@@ -83,24 +77,6 @@
test
-
-
- org.passay
- passay
- ${passay.version}
-
-
- org.apache.commons
- commons-text
- ${commons-text.version}
-
-
-
- org.ahocorasick
- ahocorasick
- ${ahocorasick.version}
-
-
@@ -134,11 +110,8 @@
3.6.161.127.0.1-jre
- 4.0.05.3.1
- 1.3.11.4
- 0.4.0
diff --git a/pom.xml b/pom.xml
index 9b47ffe3a6..352da33fee 100644
--- a/pom.xml
+++ b/pom.xml
@@ -469,6 +469,7 @@
java-stringsjava-strings-2
+ java-strings-opsjava-vavr-streamjava-websocketjavafx
@@ -1163,6 +1164,7 @@
java-stringsjava-strings-2
+ java-strings-opsjava-vavr-streamjava-websocketjavafx