繁体   English   中英

如何将JavaScript代码转换为一个大的Java字符串

[英]How can I convert JavaScript code into one big Java string

所以我有1000行javascript。 我需要将其转换为Java String,以便可以输出(通过System.out.println或其他方式)。

我正在寻找一个在线工具来转义所有引号 ...适合我的特定需求的东西会很不错,因为我不想更改其他特殊字符。 像这样的行:

var rgx = /(\d+)(\d{3})/;

需要保持原样。

这种情况要求将JavaScript放入字符串中,所以请不要任何变通办法。

这是一个链接,其中包含Crockford对quote()函数的实现 使用它来构建自己的JavaScript转换器。

编辑:我也略微修改了该函数以默认情况下输出一个ascii安全的字符串。

Edit2:只是一个建议:将JavaScript保留在外部文件中并在运行时读取它而不是对其进行硬编码可能会更聪明...

Edit3:这是功能齐全的解决方案-只需复制到.html文件并替换虚拟脚本即可:

<script src="quote.js"></script>
<script>
// this is the JavaScript to be converted:
var foo = 'bar';
var spam = 'eggs';

function fancyFunction() {
    return 'cool';
}
</script>
<pre><script>
document.writeln(quote(
    document.getElementsByTagName('script')[1].firstChild.nodeValue, true));
</script></pre>

您可以使用一种可用的工具压缩文件以达到此效果:

YUI Compressor在线

迪恩·爱德华的包装工

道格拉斯·克罗克福德的JSMIN

您可以使用jsmin工具将Javascript压缩为单行(希望如此),但是它不能转义引号。 这可以通过在编辑器中使用搜索/替换或使用的服务器端脚本语言来完成。

因此,我尝试的所有操作最终都破坏了javascript。 通过执行以下操作,终于使它起作用:

使用记事本++:

  1. 多次按Shift + Tab键可取消每行缩进

  2. 查看->显示行尾

  3. 突出显示LF字符并执行全部替换以空字符串替换
  4. 重复输入CR字符

  5. 高亮显示一个“(引号字符)并用\\替换全部”(转义的引号)...只需在“替换”提示中键入引号字符,由于某种原因仅抓住了一些引号。

  6. 现在您有1个非常长的行...我最终不得不将1个字符串分成大约2000个字符的长行。...疯狂的长行杀死了IE和/或打破了Java字符串限制。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM