Va-6ren">
gpt4 book ai didi

Javascript:eval 中的 replaceAll 不起作用

转载 作者:行者123 更新时间:2023-11-29 04:25:32 27 4
gpt4 key购买 nike

我在 java nashorn 引擎 eval 中有一个 javascript 代码。像这样

engine.eval("<code>.... print(printIt.substring(1) + '==>Value:' + obj[property].replaceAll('\n', ' ').....<code>");

在这里,我想用简单的空格替换所有出现的 \n\r 。但是当我运行它时,我得到了错误:

Exception in thread "main" javax.script.ScriptException: :1:426 Missing close quote

最佳答案

您犯了错误,没有转义 \n 的反斜杠.

如果你正在做 .replaceAll('\n', '<somethng>') ,您实际上是在搜索换行符和替换,这不等于搜索 \n字符串。

这里是你应该如何处理转义:

obj[property].replaceAll('\\n', ' ').replaceAll('\\r', ' ') \\for replacing all newline and carriage return.

旁注:顺便说一句,我很想知道你为什么要替换 \r这样做没有多大用处,因为现在它并不经常单独使用。这是 \r 的定义和 \n .

\r = CR (Carriage Return)//在 X 之前的 Mac OS 中用作换行符

\n = LF (Line Feed)//在 Unix/Mac OS X 中用作换行符

\r\n = CR + LF//在 Windows 中用作换行符

关于Javascript:eval 中的 replaceAll 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46544318/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com