From 979db86a5121098e120995553e906eccee0f805c Mon Sep 17 00:00:00 2001 From: Willian Nalepa Oizumi Date: Sun, 17 Oct 2021 03:14:31 -0300 Subject: [PATCH] examples for BAEL-5153 - remove double quotes (#11344) --- .../DoubleQuotesRemovalUtils.java | 37 ++++++++++++++++ .../DoubleQuotesRemovalUtilsUnitTest.java | 42 +++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 core-java-modules/core-java-string-operations-3/src/main/java/com/baeldung/doublequotesremoval/DoubleQuotesRemovalUtils.java create mode 100644 core-java-modules/core-java-string-operations-3/src/test/java/com/baeldung/doublequotesremoval/DoubleQuotesRemovalUtilsUnitTest.java diff --git a/core-java-modules/core-java-string-operations-3/src/main/java/com/baeldung/doublequotesremoval/DoubleQuotesRemovalUtils.java b/core-java-modules/core-java-string-operations-3/src/main/java/com/baeldung/doublequotesremoval/DoubleQuotesRemovalUtils.java new file mode 100644 index 0000000000..c7cc162026 --- /dev/null +++ b/core-java-modules/core-java-string-operations-3/src/main/java/com/baeldung/doublequotesremoval/DoubleQuotesRemovalUtils.java @@ -0,0 +1,37 @@ +package com.baeldung.doublequotesremoval; + +import com.google.common.base.CharMatcher; + +public class DoubleQuotesRemovalUtils { + + public static String removeWithSubString(String input) { + if (input != null && input.length() >= 2 && input.charAt(0) == '\"' + && input.charAt(input.length() - 1) == '\"') { + return input.substring(1, input.length() - 1); + } + + return input; + } + + public static String removeWithReplaceAllSimple(String input) { + if (input == null || input.isEmpty()) + return input; + + return input.replaceAll("\"", ""); + } + + public static String removeWithReplaceAllAdvanced(String input) { + if (input == null || input.isEmpty()) + return input; + + return input.replaceAll("^\"|\"$", ""); + } + + public static String removeWithGuava(String input) { + if (input == null || input.isEmpty()) + return input; + + return CharMatcher.is('\"').trimFrom(input); + } + +} diff --git a/core-java-modules/core-java-string-operations-3/src/test/java/com/baeldung/doublequotesremoval/DoubleQuotesRemovalUtilsUnitTest.java b/core-java-modules/core-java-string-operations-3/src/test/java/com/baeldung/doublequotesremoval/DoubleQuotesRemovalUtilsUnitTest.java new file mode 100644 index 0000000000..2761cc3139 --- /dev/null +++ b/core-java-modules/core-java-string-operations-3/src/test/java/com/baeldung/doublequotesremoval/DoubleQuotesRemovalUtilsUnitTest.java @@ -0,0 +1,42 @@ +package com.baeldung.doublequotesremoval; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import org.junit.jupiter.api.Test; + +public class DoubleQuotesRemovalUtilsUnitTest { + + @Test + public void given_EmptyString_ShouldReturn_EmptyString() { + String input = ""; + + assertTrue(DoubleQuotesRemovalUtils.removeWithSubString(input).isEmpty()); + assertTrue(DoubleQuotesRemovalUtils.removeWithReplaceAllSimple(input).isEmpty()); + assertTrue(DoubleQuotesRemovalUtils.removeWithReplaceAllAdvanced(input).isEmpty()); + assertTrue(DoubleQuotesRemovalUtils.removeWithGuava(input).isEmpty()); + } + + @Test + public void given_DoubleQuotesOnly_ShouldReturn_EmptyString() { + String input = "\"\""; + + assertTrue(DoubleQuotesRemovalUtils.removeWithSubString(input).isEmpty()); + assertTrue(DoubleQuotesRemovalUtils.removeWithReplaceAllSimple(input).isEmpty()); + assertTrue(DoubleQuotesRemovalUtils.removeWithReplaceAllAdvanced(input).isEmpty()); + assertTrue(DoubleQuotesRemovalUtils.removeWithGuava(input).isEmpty()); + } + + @Test + public void given_TextWithDoubleQuotes_ShouldReturn_TextOnly() { + + String input = "\"Example of text for this test suit\""; + String expectedResult = "Example of text for this test suit"; + + assertEquals(expectedResult, DoubleQuotesRemovalUtils.removeWithSubString(input)); + assertEquals(expectedResult, DoubleQuotesRemovalUtils.removeWithReplaceAllSimple(input)); + assertEquals(expectedResult, DoubleQuotesRemovalUtils.removeWithReplaceAllAdvanced(input)); + assertEquals(expectedResult, DoubleQuotesRemovalUtils.removeWithGuava(input)); + } + +}