正确格式化Java字符串以适合JavaScript变量

Properly format a Java String to fit into a JavaScript variable

本文关键字:JavaScript 变量 字符串 格式化 Java      更新时间:2023-09-26

我对Java很陌生,假设我有一个字符串包含多个内容(引号,双引号,新行等)

我想"编码"这个字符串,这样我就可以安全地将它输出到一个JavaScript代码片段中,如:

var test = '<%= myJavaString %>';

如果myJavaString中有任何特殊字符,比如换行符,例如:

String myJavaString = "hello'neveryone'nof the'nworld";

我不希望我的JavaScript源代码看起来像:

var test = 'hello
everyone
of the
world';

任何内置函数!?

谢谢!

查看Apache commons-lang StringEscapeUtils类。它有一个escapeEcmaScript方法,可以将换行符转义为'n,还可以转义制表符、引号和双引号。

嗯,我不确定是否有任何内置方法可以使用,但编写一个方法可能不会太难。请记住,您只需要将'n替换为''n,将其从"特殊"字符更改为'和n。

您可能希望使用正则表达式。遗憾的是,我不是最擅长正则表达式的,所以我可能不是帮助你的最佳人选。