diff --git a/core-java-modules/core-java-string-algorithms-2/README.md b/core-java-modules/core-java-string-algorithms-2/README.md new file mode 100644 index 0000000000..2cd64e1920 --- /dev/null +++ b/core-java-modules/core-java-string-algorithms-2/README.md @@ -0,0 +1,16 @@ +## Java String Algorithms + +This module contains articles about string-related algorithms. + +### Relevant Articles: +- [How to Remove the Last Character of a String?](https://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) +- [Java Check a String for Lowercase/Uppercase Letter, Special Character and Digit](https://www.baeldung.com/java-lowercase-uppercase-special-character-digit-regex) +- [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) +- [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 Leading and Trailing Characters from a String](https://www.baeldung.com/java-remove-trailing-characters) +- [Counting Words in a String](https://www.baeldung.com/java-word-counting) +- [Finding the Difference Between Two Strings](https://www.baeldung.com/java-difference-between-two-strings) +- More articles: [[<-- prev]](../core-java-string-algorithms) diff --git a/core-java-modules/core-java-string-algorithms-2/pom.xml b/core-java-modules/core-java-string-algorithms-2/pom.xml new file mode 100644 index 0000000000..5b0e710bb8 --- /dev/null +++ b/core-java-modules/core-java-string-algorithms-2/pom.xml @@ -0,0 +1,67 @@ + + 4.0.0 + core-java-string-algorithms-2 + 0.1.0-SNAPSHOT + jar + core-java-string-algorithms-2 + + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../../parent-java + + + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + com.google.guava + guava + ${guava.version} + + + org.openjdk.jmh + jmh-core + ${jmh-core.version} + + + org.openjdk.jmh + jmh-generator-annprocess + ${jmh-core.version} + + + org.assertj + assertj-core + ${assertj.version} + test + + + org.bitbucket.cowwoc + diff-match-patch + ${diff-match-path.version} + test + + + + + core-java-string-algorithms-2 + + + src/main/resources + true + + + + + + 3.8.1 + 3.6.1 + 1.2 + + + diff --git a/java-strings-ops/src/main/java/com/baeldung/string/AppendCharAtPositionX.java b/core-java-modules/core-java-string-algorithms-2/src/main/java/com/baeldung/addchar/AppendCharAtPositionX.java similarity index 97% rename from java-strings-ops/src/main/java/com/baeldung/string/AppendCharAtPositionX.java rename to core-java-modules/core-java-string-algorithms-2/src/main/java/com/baeldung/addchar/AppendCharAtPositionX.java index ad203ab348..92bb9a9832 100644 --- a/java-strings-ops/src/main/java/com/baeldung/string/AppendCharAtPositionX.java +++ b/core-java-modules/core-java-string-algorithms-2/src/main/java/com/baeldung/addchar/AppendCharAtPositionX.java @@ -1,7 +1,7 @@ /** * */ -package com.baeldung.string; +package com.baeldung.addchar; /** * @author swpraman diff --git a/java-strings-2/src/main/java/com/baeldung/string/padding/StringPaddingUtil.java b/core-java-modules/core-java-string-algorithms-2/src/main/java/com/baeldung/padding/StringPaddingUtil.java similarity index 96% rename from java-strings-2/src/main/java/com/baeldung/string/padding/StringPaddingUtil.java rename to core-java-modules/core-java-string-algorithms-2/src/main/java/com/baeldung/padding/StringPaddingUtil.java index 80d05bb42a..1de82620c0 100644 --- a/java-strings-2/src/main/java/com/baeldung/string/padding/StringPaddingUtil.java +++ b/core-java-modules/core-java-string-algorithms-2/src/main/java/com/baeldung/padding/StringPaddingUtil.java @@ -1,4 +1,4 @@ -package com.baeldung.string.padding; +package com.baeldung.padding; public class StringPaddingUtil { diff --git a/java-strings-ops/src/main/java/com/baeldung/string/StringHelper.java b/core-java-modules/core-java-string-algorithms-2/src/main/java/com/baeldung/removelastchar/StringHelper.java similarity index 95% rename from java-strings-ops/src/main/java/com/baeldung/string/StringHelper.java rename to core-java-modules/core-java-string-algorithms-2/src/main/java/com/baeldung/removelastchar/StringHelper.java index dac0d1272e..ebcc283851 100644 --- a/java-strings-ops/src/main/java/com/baeldung/string/StringHelper.java +++ b/core-java-modules/core-java-string-algorithms-2/src/main/java/com/baeldung/removelastchar/StringHelper.java @@ -1,4 +1,4 @@ -package com.baeldung.string; +package com.baeldung.removelastchar; import java.util.Optional; diff --git a/java-strings-2/src/main/java/com/baeldung/string/removeleadingtrailingchar/RemoveLeadingAndTrailingZeroes.java b/core-java-modules/core-java-string-algorithms-2/src/main/java/com/baeldung/removeleadingtrailingchar/RemoveLeadingAndTrailingZeroes.java similarity index 97% rename from java-strings-2/src/main/java/com/baeldung/string/removeleadingtrailingchar/RemoveLeadingAndTrailingZeroes.java rename to core-java-modules/core-java-string-algorithms-2/src/main/java/com/baeldung/removeleadingtrailingchar/RemoveLeadingAndTrailingZeroes.java index c9d748e897..386d34e0ac 100644 --- a/java-strings-2/src/main/java/com/baeldung/string/removeleadingtrailingchar/RemoveLeadingAndTrailingZeroes.java +++ b/core-java-modules/core-java-string-algorithms-2/src/main/java/com/baeldung/removeleadingtrailingchar/RemoveLeadingAndTrailingZeroes.java @@ -1,9 +1,8 @@ -package com.baeldung.string.removeleadingtrailingchar; +package com.baeldung.removeleadingtrailingchar; -import org.apache.commons.lang3.StringUtils; - import com.google.common.base.CharMatcher; +import org.apache.commons.lang3.StringUtils; public class RemoveLeadingAndTrailingZeroes { diff --git a/java-strings/src/main/java/com/baeldung/string/ReplaceCharacterInString.java b/core-java-modules/core-java-string-algorithms-2/src/main/java/com/baeldung/replacechar/ReplaceCharacterInString.java similarity index 96% rename from java-strings/src/main/java/com/baeldung/string/ReplaceCharacterInString.java rename to core-java-modules/core-java-string-algorithms-2/src/main/java/com/baeldung/replacechar/ReplaceCharacterInString.java index 2cc67f0b51..29fb28a85b 100644 --- a/java-strings/src/main/java/com/baeldung/string/ReplaceCharacterInString.java +++ b/core-java-modules/core-java-string-algorithms-2/src/main/java/com/baeldung/replacechar/ReplaceCharacterInString.java @@ -1,4 +1,4 @@ -package com.baeldung.string; +package com.baeldung.replacechar; public class ReplaceCharacterInString { diff --git a/java-strings-3/src/main/java/com/baeldung/string/wordcount/WordCounter.java b/core-java-modules/core-java-string-algorithms-2/src/main/java/com/baeldung/wordcount/WordCounter.java similarity index 97% rename from java-strings-3/src/main/java/com/baeldung/string/wordcount/WordCounter.java rename to core-java-modules/core-java-string-algorithms-2/src/main/java/com/baeldung/wordcount/WordCounter.java index 30275773a6..9963c3486b 100644 --- a/java-strings-3/src/main/java/com/baeldung/string/wordcount/WordCounter.java +++ b/core-java-modules/core-java-string-algorithms-2/src/main/java/com/baeldung/wordcount/WordCounter.java @@ -1,4 +1,4 @@ -package com.baeldung.string.wordcount; +package com.baeldung.wordcount; import java.util.StringTokenizer; diff --git a/java-strings-ops/src/test/java/com/baeldung/string/AppendCharAtPositionXUnitTest.java b/core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/addchar/AppendCharAtPositionXUnitTest.java similarity index 99% rename from java-strings-ops/src/test/java/com/baeldung/string/AppendCharAtPositionXUnitTest.java rename to core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/addchar/AppendCharAtPositionXUnitTest.java index 7c5409fe29..e850cf1954 100644 --- a/java-strings-ops/src/test/java/com/baeldung/string/AppendCharAtPositionXUnitTest.java +++ b/core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/addchar/AppendCharAtPositionXUnitTest.java @@ -1,7 +1,7 @@ /** * */ -package com.baeldung.string; +package com.baeldung.addchar; import static org.junit.Assert.assertEquals; diff --git a/java-strings/src/test/java/com/baeldung/string/StringContainingCharactersUnitTest.java b/core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/containchar/StringContainingCharactersUnitTest.java similarity index 99% rename from java-strings/src/test/java/com/baeldung/string/StringContainingCharactersUnitTest.java rename to core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/containchar/StringContainingCharactersUnitTest.java index be79103e6b..3b0e545584 100644 --- a/java-strings/src/test/java/com/baeldung/string/StringContainingCharactersUnitTest.java +++ b/core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/containchar/StringContainingCharactersUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.string; +package com.baeldung.containchar; import org.junit.Test; diff --git a/java-strings-2/src/test/java/com/baeldung/string/StringFromPrimitiveArrayUnitTest.java b/core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/join/StringFromPrimitiveArrayUnitTest.java similarity index 99% rename from java-strings-2/src/test/java/com/baeldung/string/StringFromPrimitiveArrayUnitTest.java rename to core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/join/StringFromPrimitiveArrayUnitTest.java index c93089e543..f6c9141c3f 100644 --- a/java-strings-2/src/test/java/com/baeldung/string/StringFromPrimitiveArrayUnitTest.java +++ b/core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/join/StringFromPrimitiveArrayUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.string; +package com.baeldung.join; import com.google.common.base.Joiner; import com.google.common.primitives.Chars; diff --git a/java-strings-2/src/test/java/com/baeldung/string/padding/StringPaddingUtilUnitTest.java b/core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/padding/StringPaddingUtilUnitTest.java similarity index 98% rename from java-strings-2/src/test/java/com/baeldung/string/padding/StringPaddingUtilUnitTest.java rename to core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/padding/StringPaddingUtilUnitTest.java index f6a077a88e..d8ef500b30 100644 --- a/java-strings-2/src/test/java/com/baeldung/string/padding/StringPaddingUtilUnitTest.java +++ b/core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/padding/StringPaddingUtilUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.string.padding; +package com.baeldung.padding; import com.google.common.base.Strings; import org.apache.commons.lang3.StringUtils; diff --git a/java-strings-ops/src/test/java/com/baeldung/string/StringHelperUnitTest.java b/core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/removelastchar/RemoveLastCharUnitTest.java similarity index 98% rename from java-strings-ops/src/test/java/com/baeldung/string/StringHelperUnitTest.java rename to core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/removelastchar/RemoveLastCharUnitTest.java index eb86e84905..e88158deb9 100644 --- a/java-strings-ops/src/test/java/com/baeldung/string/StringHelperUnitTest.java +++ b/core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/removelastchar/RemoveLastCharUnitTest.java @@ -1,12 +1,12 @@ -package com.baeldung.string; - -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotEquals; +package com.baeldung.removelastchar; import org.apache.commons.lang3.StringUtils; import org.junit.Test; -public class StringHelperUnitTest { +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotEquals; + +public class RemoveLastCharUnitTest { public static final String TEST_STRING = "abcdef"; public static final String NULL_STRING = null; diff --git a/java-strings-2/src/test/java/com/baeldung/string/removeleadingtrailingchar/RemoveLeadingAndTrailingZeroesUnitTest.java b/core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/removeleadingtrailingchar/RemoveLeadingAndTrailingZeroesUnitTest.java similarity index 99% rename from java-strings-2/src/test/java/com/baeldung/string/removeleadingtrailingchar/RemoveLeadingAndTrailingZeroesUnitTest.java rename to core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/removeleadingtrailingchar/RemoveLeadingAndTrailingZeroesUnitTest.java index 55f932fea1..5dec58eea9 100644 --- a/java-strings-2/src/test/java/com/baeldung/string/removeleadingtrailingchar/RemoveLeadingAndTrailingZeroesUnitTest.java +++ b/core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/removeleadingtrailingchar/RemoveLeadingAndTrailingZeroesUnitTest.java @@ -1,13 +1,13 @@ -package com.baeldung.string.removeleadingtrailingchar; - -import static org.assertj.core.api.Assertions.assertThat; - -import java.util.stream.Stream; +package com.baeldung.removeleadingtrailingchar; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; +import java.util.stream.Stream; + +import static org.assertj.core.api.Assertions.assertThat; + public class RemoveLeadingAndTrailingZeroesUnitTest { public static Stream leadingZeroTestProvider() { diff --git a/java-strings/src/test/java/com/baeldung/string/ReplaceCharInStringUnitTest.java b/core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/replacechar/ReplaceCharInStringUnitTest.java similarity index 92% rename from java-strings/src/test/java/com/baeldung/string/ReplaceCharInStringUnitTest.java rename to core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/replacechar/ReplaceCharInStringUnitTest.java index c234c6953c..1e33a7f09d 100644 --- a/java-strings/src/test/java/com/baeldung/string/ReplaceCharInStringUnitTest.java +++ b/core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/replacechar/ReplaceCharInStringUnitTest.java @@ -1,8 +1,9 @@ -package com.baeldung.string; +package com.baeldung.replacechar; import org.junit.Test; import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; public class ReplaceCharInStringUnitTest { private ReplaceCharacterInString characterInString = new ReplaceCharacterInString(); diff --git a/java-strings/src/test/java/com/baeldung/string/StringReplaceAndRemoveUnitTest.java b/core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/replaceremove/StringReplaceAndRemoveUnitTest.java similarity index 98% rename from java-strings/src/test/java/com/baeldung/string/StringReplaceAndRemoveUnitTest.java rename to core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/replaceremove/StringReplaceAndRemoveUnitTest.java index 4d2b54241b..fe71aa6974 100644 --- a/java-strings/src/test/java/com/baeldung/string/StringReplaceAndRemoveUnitTest.java +++ b/core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/replaceremove/StringReplaceAndRemoveUnitTest.java @@ -1,7 +1,7 @@ -package com.baeldung.string; +package com.baeldung.replaceremove; -import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.RegExUtils; +import org.apache.commons.lang3.StringUtils; import org.junit.Test; import static org.junit.Assert.assertFalse; diff --git a/java-strings-3/src/test/java/com/baeldung/stringdiff/StringDiffBenchmarkUnitTest.java b/core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/stringdiff/StringDiffBenchmarkUnitTest.java similarity index 100% rename from java-strings-3/src/test/java/com/baeldung/stringdiff/StringDiffBenchmarkUnitTest.java rename to core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/stringdiff/StringDiffBenchmarkUnitTest.java diff --git a/java-strings-3/src/test/java/com/baeldung/stringdiff/StringDiffUnitTest.java b/core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/stringdiff/StringDiffUnitTest.java similarity index 100% rename from java-strings-3/src/test/java/com/baeldung/stringdiff/StringDiffUnitTest.java rename to core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/stringdiff/StringDiffUnitTest.java diff --git a/java-strings-3/src/test/java/com/baeldung/string/wordcount/WordCountUnitTest.java b/core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/wordcount/WordCountUnitTest.java similarity index 97% rename from java-strings-3/src/test/java/com/baeldung/string/wordcount/WordCountUnitTest.java rename to core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/wordcount/WordCountUnitTest.java index fdd045978f..bdfee61d5a 100644 --- a/java-strings-3/src/test/java/com/baeldung/string/wordcount/WordCountUnitTest.java +++ b/core-java-modules/core-java-string-algorithms-2/src/test/java/com/baeldung/wordcount/WordCountUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.string.wordcount; +package com.baeldung.wordcount; import static org.junit.Assert.assertEquals; diff --git a/core-java-modules/core-java-string-algorithms/README.md b/core-java-modules/core-java-string-algorithms/README.md new file mode 100644 index 0000000000..70a4b5ffaf --- /dev/null +++ b/core-java-modules/core-java-string-algorithms/README.md @@ -0,0 +1,16 @@ +## Java String Algorithms + +This module contains articles about string-related algorithms. + +### Relevant Articles: +- [Check If a String Is a Palindrome](https://www.baeldung.com/java-palindrome) +- [Count Occurrences of a Char in a String](https://www.baeldung.com/java-count-chars) +- [Using indexOf to Find All Occurrences of a Word in a String](https://www.baeldung.com/java-indexOf-find-string-occurrences) +- [Removing Stopwords from a String in Java](https://www.baeldung.com/java-string-remove-stopwords) +- [Removing Repeated Characters from a String](https://www.baeldung.com/java-remove-repeated-char) +- [How to Reverse a String in Java](https://www.baeldung.com/java-reverse-string) +- [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) +- [Checking If a String Is a Repeated Substring](https://www.baeldung.com/java-repeated-substring) +- [Remove Emojis from a Java String](https://www.baeldung.com/java-string-remove-emojis) +- More articles: [[next -->]](../core-java-string-algorithms-2) diff --git a/core-java-modules/core-java-string-algorithms/pom.xml b/core-java-modules/core-java-string-algorithms/pom.xml new file mode 100644 index 0000000000..f1b7499b6d --- /dev/null +++ b/core-java-modules/core-java-string-algorithms/pom.xml @@ -0,0 +1,73 @@ + + 4.0.0 + core-java-string-algorithms + 0.1.0-SNAPSHOT + jar + core-java-string-algorithms + + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../../parent-java + + + + + com.google.guava + guava + ${guava.version} + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + org.ahocorasick + ahocorasick + ${ahocorasick.version} + + + org.openjdk.jmh + jmh-core + ${jmh-core.version} + + + org.openjdk.jmh + jmh-generator-annprocess + ${jmh-core.version} + + + com.vdurmont + emoji-java + ${emoji-java.version} + + + org.assertj + assertj-core + ${assertj.version} + test + + + + + core-java-string-algorithms + + + src/main/resources + true + + + + + + 3.8.1 + 27.0.1-jre + 0.4.0 + 3.6.1 + 4.0.0 + + + diff --git a/java-strings-2/src/main/java/com/baeldung/string/MatchWords.java b/core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/matchwords/MatchWords.java similarity index 92% rename from java-strings-2/src/main/java/com/baeldung/string/MatchWords.java rename to core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/matchwords/MatchWords.java index 0cad52c320..b5b7e92d8e 100644 --- a/java-strings-2/src/main/java/com/baeldung/string/MatchWords.java +++ b/core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/matchwords/MatchWords.java @@ -1,14 +1,12 @@ -package com.baeldung.string; +package com.baeldung.matchwords; import org.ahocorasick.trie.Emit; -import org.ahocorasick.trie.Token; import org.ahocorasick.trie.Trie; -import java.util.*; -import java.util.function.Function; +import java.util.Arrays; +import java.util.Collection; +import java.util.List; import java.util.regex.Pattern; -import java.util.stream.Collectors; -import java.util.stream.Stream; public class MatchWords { diff --git a/java-strings-ops/src/main/java/com/baeldung/string/Palindrome.java b/core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/palindrom/Palindrome.java similarity index 98% rename from java-strings-ops/src/main/java/com/baeldung/string/Palindrome.java rename to core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/palindrom/Palindrome.java index 97d4d36d07..4a98e6583a 100644 --- a/java-strings-ops/src/main/java/com/baeldung/string/Palindrome.java +++ b/core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/palindrom/Palindrome.java @@ -1,4 +1,4 @@ -package com.baeldung.string; +package com.baeldung.palindrom; import java.util.stream.IntStream; diff --git a/java-strings-2/src/main/java/com/baeldung/string/Pangram.java b/core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/pangram/Pangram.java similarity index 98% rename from java-strings-2/src/main/java/com/baeldung/string/Pangram.java rename to core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/pangram/Pangram.java index c09b0c1d29..ca2a44280c 100644 --- a/java-strings-2/src/main/java/com/baeldung/string/Pangram.java +++ b/core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/pangram/Pangram.java @@ -1,4 +1,4 @@ -package com.baeldung.string; +package com.baeldung.pangram; import java.util.Arrays; import java.util.Map; diff --git a/java-strings-2/src/main/java/com/baeldung/stringduplicates/RemoveDuplicateFromString.java b/core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/removeduplicates/RemoveDuplicateFromString.java similarity index 98% rename from java-strings-2/src/main/java/com/baeldung/stringduplicates/RemoveDuplicateFromString.java rename to core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/removeduplicates/RemoveDuplicateFromString.java index d8fd9c4b14..a000f4dbd6 100644 --- a/java-strings-2/src/main/java/com/baeldung/stringduplicates/RemoveDuplicateFromString.java +++ b/core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/removeduplicates/RemoveDuplicateFromString.java @@ -1,4 +1,4 @@ -package com.baeldung.stringduplicates; +package com.baeldung.removeduplicates; import java.util.Arrays; import java.util.HashSet; diff --git a/java-strings-2/src/main/java/com/baeldung/string/repetition/SubstringRepetition.java b/core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/repetition/SubstringRepetition.java similarity index 94% rename from java-strings-2/src/main/java/com/baeldung/string/repetition/SubstringRepetition.java rename to core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/repetition/SubstringRepetition.java index 466ce9146b..6715367a19 100644 --- a/java-strings-2/src/main/java/com/baeldung/string/repetition/SubstringRepetition.java +++ b/core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/repetition/SubstringRepetition.java @@ -1,4 +1,4 @@ -package com.baeldung.string.repetition; +package com.baeldung.repetition; public class SubstringRepetition { diff --git a/java-strings-2/src/main/java/com/baeldung/string/reverse/ReverseStringExamples.java b/core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/reverse/ReverseStringExamples.java similarity index 97% rename from java-strings-2/src/main/java/com/baeldung/string/reverse/ReverseStringExamples.java rename to core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/reverse/ReverseStringExamples.java index 1a58d09598..5236f14ccd 100644 --- a/java-strings-2/src/main/java/com/baeldung/string/reverse/ReverseStringExamples.java +++ b/core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/reverse/ReverseStringExamples.java @@ -1,4 +1,4 @@ -package com.baeldung.string.reverse; +package com.baeldung.reverse; import org.apache.commons.lang3.StringUtils; diff --git a/java-strings/src/main/java/com/baeldung/string/searching/WordIndexer.java b/core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/searching/WordIndexer.java similarity index 96% rename from java-strings/src/main/java/com/baeldung/string/searching/WordIndexer.java rename to core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/searching/WordIndexer.java index 1bcad6dd32..c7550f8e16 100644 --- a/java-strings/src/main/java/com/baeldung/string/searching/WordIndexer.java +++ b/core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/searching/WordIndexer.java @@ -1,4 +1,4 @@ -package com.baeldung.string.searching; +package com.baeldung.searching; import java.util.ArrayList; import java.util.List; diff --git a/java-strings-2/src/main/java/com/baeldung/string/performance/RemovingStopwordsPerformanceComparison.java b/core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/stopwords/RemovingStopwordsPerformanceComparison.java similarity index 82% rename from java-strings-2/src/main/java/com/baeldung/string/performance/RemovingStopwordsPerformanceComparison.java rename to core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/stopwords/RemovingStopwordsPerformanceComparison.java index 5b455459cd..7df64de3f1 100644 --- a/java-strings-2/src/main/java/com/baeldung/string/performance/RemovingStopwordsPerformanceComparison.java +++ b/core-java-modules/core-java-string-algorithms/src/main/java/com/baeldung/stopwords/RemovingStopwordsPerformanceComparison.java @@ -1,4 +1,6 @@ -package com.baeldung.string.performance; +package com.baeldung.stopwords; + +import org.openjdk.jmh.annotations.*; import java.io.IOException; import java.nio.file.Files; @@ -9,15 +11,6 @@ import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; import java.util.stream.Stream; -import org.openjdk.jmh.annotations.Benchmark; -import org.openjdk.jmh.annotations.BenchmarkMode; -import org.openjdk.jmh.annotations.Fork; -import org.openjdk.jmh.annotations.Mode; -import org.openjdk.jmh.annotations.OutputTimeUnit; -import org.openjdk.jmh.annotations.Scope; -import org.openjdk.jmh.annotations.Setup; -import org.openjdk.jmh.annotations.State; - @Fork(value = 3, warmups = 1) @State(Scope.Benchmark) diff --git a/java-strings-2/src/main/resources/english_stopwords.txt b/core-java-modules/core-java-string-algorithms/src/main/resources/english_stopwords.txt similarity index 100% rename from java-strings-2/src/main/resources/english_stopwords.txt rename to core-java-modules/core-java-string-algorithms/src/main/resources/english_stopwords.txt diff --git a/java-strings-2/src/main/resources/shakespeare-hamlet.txt b/core-java-modules/core-java-string-algorithms/src/main/resources/shakespeare-hamlet.txt similarity index 100% rename from java-strings-2/src/main/resources/shakespeare-hamlet.txt rename to core-java-modules/core-java-string-algorithms/src/main/resources/shakespeare-hamlet.txt diff --git a/java-strings-ops/src/test/java/com/baeldung/java/countingChars/CountCharsExampleUnitTest.java b/core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/countingchars/CountCharsExampleUnitTest.java similarity index 98% rename from java-strings-ops/src/test/java/com/baeldung/java/countingChars/CountCharsExampleUnitTest.java rename to core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/countingchars/CountCharsExampleUnitTest.java index d58684445b..8a5f1181b5 100644 --- a/java-strings-ops/src/test/java/com/baeldung/java/countingChars/CountCharsExampleUnitTest.java +++ b/core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/countingchars/CountCharsExampleUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.java.countingChars; +package com.baeldung.countingchars; import static org.junit.Assert.assertEquals; diff --git a/java-strings-2/src/test/java/com/baeldung/string/MatchWordsUnitTest.java b/core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/matchwords/MatchWordsUnitTest.java similarity index 98% rename from java-strings-2/src/test/java/com/baeldung/string/MatchWordsUnitTest.java rename to core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/matchwords/MatchWordsUnitTest.java index 385aadaa5d..9ff1066a12 100644 --- a/java-strings-2/src/test/java/com/baeldung/string/MatchWordsUnitTest.java +++ b/core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/matchwords/MatchWordsUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.string; +package com.baeldung.matchwords; import org.junit.Test; diff --git a/java-strings-ops/src/test/java/com/baeldung/string/PalindromeUnitTest.java b/core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/palindrom/PalindromeUnitTest.java similarity index 98% rename from java-strings-ops/src/test/java/com/baeldung/string/PalindromeUnitTest.java rename to core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/palindrom/PalindromeUnitTest.java index 8dea72d8ca..43334ad0fd 100644 --- a/java-strings-ops/src/test/java/com/baeldung/string/PalindromeUnitTest.java +++ b/core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/palindrom/PalindromeUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.string; +package com.baeldung.palindrom; import static org.junit.Assert.assertTrue; diff --git a/java-strings-2/src/test/java/com/baeldung/string/PangramUnitTest.java b/core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/pangram/PangramUnitTest.java similarity index 97% rename from java-strings-2/src/test/java/com/baeldung/string/PangramUnitTest.java rename to core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/pangram/PangramUnitTest.java index 36e603b535..b081a425e2 100644 --- a/java-strings-2/src/test/java/com/baeldung/string/PangramUnitTest.java +++ b/core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/pangram/PangramUnitTest.java @@ -1,8 +1,9 @@ -package com.baeldung.string; +package com.baeldung.pangram; + +import org.junit.Test; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; -import org.junit.Test; public class PangramUnitTest { diff --git a/java-strings-2/src/test/java/com/baeldung/stringduplicates/RemoveDuplicateFromStringUnitTest.java b/core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/removeduplicates/RemoveDuplicateFromStringUnitTest.java similarity index 98% rename from java-strings-2/src/test/java/com/baeldung/stringduplicates/RemoveDuplicateFromStringUnitTest.java rename to core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/removeduplicates/RemoveDuplicateFromStringUnitTest.java index 895ecc4a3b..2372a5e569 100644 --- a/java-strings-2/src/test/java/com/baeldung/stringduplicates/RemoveDuplicateFromStringUnitTest.java +++ b/core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/removeduplicates/RemoveDuplicateFromStringUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.stringduplicates; +package com.baeldung.removeduplicates; import org.junit.Assert; import org.junit.Before; diff --git a/java-strings-2/src/test/java/com/baeldung/string/RemovingEmojiFromStringUnitTest.java b/core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/removeemojis/RemovingEmojiFromStringUnitTest.java similarity index 98% rename from java-strings-2/src/test/java/com/baeldung/string/RemovingEmojiFromStringUnitTest.java rename to core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/removeemojis/RemovingEmojiFromStringUnitTest.java index 8688f9dcf5..2c5f83400e 100644 --- a/java-strings-2/src/test/java/com/baeldung/string/RemovingEmojiFromStringUnitTest.java +++ b/core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/removeemojis/RemovingEmojiFromStringUnitTest.java @@ -1,13 +1,12 @@ -package com.baeldung.string; +package com.baeldung.removeemojis; -import static org.junit.Assert.assertEquals; +import com.vdurmont.emoji.EmojiParser; +import org.junit.Test; import java.util.regex.Matcher; import java.util.regex.Pattern; -import org.junit.Test; - -import com.vdurmont.emoji.EmojiParser; +import static org.junit.Assert.assertEquals; public class RemovingEmojiFromStringUnitTest { String text = "la conférence, commencera à 10 heures 😅"; diff --git a/java-strings-2/src/test/java/com/baeldung/string/repetition/SubstringRepetitionUnitTest.java b/core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/repetition/SubstringRepetitionUnitTest.java similarity index 93% rename from java-strings-2/src/test/java/com/baeldung/string/repetition/SubstringRepetitionUnitTest.java rename to core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/repetition/SubstringRepetitionUnitTest.java index f382a24a7f..5ecb7315c2 100644 --- a/java-strings-2/src/test/java/com/baeldung/string/repetition/SubstringRepetitionUnitTest.java +++ b/core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/repetition/SubstringRepetitionUnitTest.java @@ -1,10 +1,10 @@ -package com.baeldung.string.repetition; - -import static com.baeldung.string.repetition.SubstringRepetition.*; -import static org.junit.Assert.*; +package com.baeldung.repetition; import org.junit.Test; +import static com.baeldung.repetition.SubstringRepetition.*; +import static org.junit.Assert.*; + public class SubstringRepetitionUnitTest { private String validString = "aa"; diff --git a/java-strings-2/src/test/java/com/baeldung/string/reverse/ReverseStringExamplesUnitTest.java b/core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/reverse/ReverseStringExamplesUnitTest.java similarity index 98% rename from java-strings-2/src/test/java/com/baeldung/string/reverse/ReverseStringExamplesUnitTest.java rename to core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/reverse/ReverseStringExamplesUnitTest.java index 020ead02db..c122163174 100644 --- a/java-strings-2/src/test/java/com/baeldung/string/reverse/ReverseStringExamplesUnitTest.java +++ b/core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/reverse/ReverseStringExamplesUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.string.reverse; +package com.baeldung.reverse; import org.apache.commons.lang3.StringUtils; import org.junit.Test; diff --git a/java-strings/src/test/java/com/baeldung/string/searching/WordIndexerUnitTest.java b/core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/searching/WordIndexerUnitTest.java similarity index 98% rename from java-strings/src/test/java/com/baeldung/string/searching/WordIndexerUnitTest.java rename to core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/searching/WordIndexerUnitTest.java index f3f76db01f..774d5a2121 100644 --- a/java-strings/src/test/java/com/baeldung/string/searching/WordIndexerUnitTest.java +++ b/core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/searching/WordIndexerUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.string.searching; +package com.baeldung.searching; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; diff --git a/java-strings-2/src/test/java/com/baeldung/string/RemoveStopwordsUnitTest.java b/core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/stopwords/RemoveStopwordsUnitTest.java similarity index 98% rename from java-strings-2/src/test/java/com/baeldung/string/RemoveStopwordsUnitTest.java rename to core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/stopwords/RemoveStopwordsUnitTest.java index edda2ec9d7..d90a70a9f5 100644 --- a/java-strings-2/src/test/java/com/baeldung/string/RemoveStopwordsUnitTest.java +++ b/core-java-modules/core-java-string-algorithms/src/test/java/com/baeldung/stopwords/RemoveStopwordsUnitTest.java @@ -1,6 +1,7 @@ -package com.baeldung.string; +package com.baeldung.stopwords; -import static org.junit.Assert.assertEquals; +import org.junit.BeforeClass; +import org.junit.Test; import java.io.IOException; import java.nio.file.Files; @@ -10,8 +11,7 @@ import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; -import org.junit.BeforeClass; -import org.junit.Test; +import static org.junit.Assert.assertEquals; public class RemoveStopwordsUnitTest { final String original = "The quick brown fox jumps over the lazy dog"; diff --git a/java-strings-2/README.md b/java-strings-2/README.md index ced813163d..b97df7c969 100644 --- a/java-strings-2/README.md +++ b/java-strings-2/README.md @@ -6,22 +6,12 @@ This module contains articles about strings in Java. - [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](https://www.baeldung.com/java-random-string) - [Java Base64 Encoding and Decoding](https://www.baeldung.com/java-base64-encode-and-decode) -- [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) -- [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) - [Checking for Empty or Blank Strings in Java](https://www.baeldung.com/java-blank-empty-strings) - [String Initialization in Java](https://www.baeldung.com/java-string-initialization) - [Java Multi-line String](https://www.baeldung.com/java-multiline-string) -- [Checking If a String Is a Repeated Substring](https://www.baeldung.com/java-repeated-substring) -- [How to Reverse a String in Java](https://www.baeldung.com/java-reverse-string) - [String toLowerCase and toUpperCase Methods in Java](https://www.baeldung.com/java-string-convert-case) - More articles: [[<-- prev>]](/java-strings) [[next -->]](/java-strings-3) diff --git a/java-strings-3/README.md b/java-strings-3/README.md index 6276dfc621..721ea5523b 100644 --- a/java-strings-3/README.md +++ b/java-strings-3/README.md @@ -4,6 +4,4 @@ This module contains articles about strings in Java. ### Relevant Articles: - [Java String equalsIgnoreCase()](https://www.baeldung.com/java-string-equalsignorecase) -- [Finding the Difference Between Two Strings](https://www.baeldung.com/java-difference-between-two-strings) -- [Counting Words in a String](https://www.baeldung.com/java-word-counting) - More articles: [[<-- prev>]](/java-strings-2) diff --git a/java-strings-ops/README.md b/java-strings-ops/README.md index 1300cf028e..e35a3808f0 100644 --- a/java-strings-ops/README.md +++ b/java-strings-ops/README.md @@ -3,13 +3,9 @@ This module contains articles about operations on strings in Java. ### Relevant Articles: -- [Check If a String Is a Palindrome](https://www.baeldung.com/java-palindrome) - [Comparing Strings in Java](https://www.baeldung.com/java-compare-strings) - [Check If a String Is Numeric in Java](https://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?](https://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](https://www.baeldung.com/java-count-chars) - [Guide to Java String Pool](https://www.baeldung.com/java-string-pool) - [Split a String in Java](https://www.baeldung.com/java-split-string) - [Common String Operations in Java](https://www.baeldung.com/java-string-operations) diff --git a/java-strings-ops/pom.xml b/java-strings-ops/pom.xml index b6a7ea2728..ebed216c2b 100644 --- a/java-strings-ops/pom.xml +++ b/java-strings-ops/pom.xml @@ -90,9 +90,9 @@ 3.8.1 + 27.0.1-jre 3.6.1 - 27.0.1-jre 5.3.1 diff --git a/java-strings/README.md b/java-strings/README.md index 17b74231a4..e2ffbe6453 100644 --- a/java-strings/README.md +++ b/java-strings/README.md @@ -6,11 +6,7 @@ This module contains articles about strings in Java. - [String Operations with Java Streams](https://www.baeldung.com/java-stream-operations-on-strings) - [Use char[] Array Over a String for Manipulating Passwords in Java?](https://www.baeldung.com/java-storing-passwords) - [Compact Strings in Java 9](https://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) - [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) - [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) - More articles: [[next -->]](/java-strings-2) diff --git a/pom.xml b/pom.xml index f9e45f5c93..58a6d8bee0 100644 --- a/pom.xml +++ b/pom.xml @@ -437,6 +437,8 @@ core-java-modules/core-java-sun core-java-modules/core-java-string-conversions core-java-modules/core-java-string-conversions-2 + core-java-modules/core-java-string-algorithms + core-java-modules/core-java-string-algorithms-2 core-java-modules/core-java-string-apis core-java-modules/core-java core-java-modules/core-java-jvm @@ -1205,6 +1207,8 @@ core-java-modules/core-java-sun core-java-modules/core-java-string-conversions core-java-modules/core-java-string-conversions-2 + core-java-modules/core-java-string-algorithms + core-java-modules/core-java-string-algorithms-2 core-java-modules/core-java-string-apis core-scala couchbase