If I had a string variable:
String example = "Hello, I'm here";
and I wanted to add an escape character in front of every '
and "
within the variable (i.e. not actually escape the characters), how would I do that?
If I had a string variable:
String example = "Hello, I'm here";
and I wanted to add an escape character in front of every '
and "
within the variable (i.e. not actually escape the characters), how would I do that?
I'm not claiming elegance here, but i think it does what you want it to do (please correct me if I'm mistaken):
public static void main(String[] args)
{
String example = "Hello, I'm\" here";
example = example.replaceAll("'", "\\\\'");
example = example.replaceAll("\"", "\\\\\"");
System.out.println(example);
}
outputs
Hello, I\'m\" here
Try Apache Commons Text library-
System.out.println(StringEscapeUtils.escapeCsv("a\","));
System.out.println(StringEscapeUtils.escapeJson("a\","));
System.out.println(StringEscapeUtils.escapeEcmaScript("Hello, I'm \"here"));
Result:
"a"","
a\",
Hello, I\'m \"here
For others who get here for a more general escaping solution, building on Apache Commons Text library you can build your own escaper. Have a look at StringEscapeUtils for examples:
import java.util.Map;
import org.apache.commons.text.translate.CharSequenceTranslator;
import org.apache.commons.text.translate.LookupTranslator;
public final class CustomEscaper {
private static final CharSequenceTranslator CUSTOM_ESCAPER =
new LookupTranslator(
Map.of(
"+" , "\\+",
"-" , "\\-",
// ...
"\\", "\\\\"
)
);
private CustomEscaper() {
// hide
}
public static final String escape(String input) {
return CUSTOM_ESCAPER.translate(input);
}
}
If it is only one quote then easy but if it is double quote then use like this
eachClientName = eachClientName.replaceAll("'","\\\'");
eachClientName =eachClientName.replaceAll("\"","\\\\\"");
© 2022 - 2024 — McMap. All rights reserved.
example
variable. – Pickfordexample.replace("'", "\\'");
– Ostraw