1

在 UltraEdit 脚本中,我有一些如下代码:

var FNstring = UltraEdit.activeDocument.selection;
var FNstring = UltraEdit.activeDocument.selection.replace(">>","</p>");
var FNstring = UltraEdit.activeDocument.selection.replace("\r\n","<BR>");

一个 var_dump 确认此时字符串的内容是:

text text text
text text text text text text text text text
text text text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text text text text
text text text text text text text text text text text text text text text text text
text text text text text text text text text
text text text text text text text text text
text text text text text text>>

我只是没有正确使用那些查找/替换命令:

  1. 替换为>>(/p)仅一次)

  2. 将所有CR/LF替换为(br). (0 或 >1)

上面的代码只是没有这样做。我搞错了。我怎样才能解决这个问题?

4

1 回答 1

1

这三行代码执行以下操作:

  1. 在 UltraEdit 中将活动文档中的选择复制到 JavaScript 字符串变量中。
  2. 在 UltraEdit 中的活动文档中将所选内容的副本创建到与以前同名的 JavaScript 字符串变量中,从而丢弃先前的字符串并在创建的副本中另外替换>>为 by 。</p>
  3. 在 UltraEdit 中的活动文档中将所选内容的副本创建到与以前同名的 JavaScript 字符串变量中,从而丢弃先前的字符串并在创建的副本中另外替换\r\n为 by 。<BR>

那不是你想要的。JavaScript String 对象的replace 函数与UltraEdit 文档对象的replace 函数无关。

您可以改用以下两行:

var FNstring = UltraEdit.activeDocument.selection.replace(/>>/g,"</p>");
UltraEdit.activeDocument.write(FNstring.replace(/\r\n|\n|\r/g,"<BR>"));

这两行执行以下操作:

  1. 将 UltraEdit 的活动文档中当前选择的副本创建到 JavaScript 字符串变量中,并在创建的副本中FNstring替换所有出现的>>by </p>
  2. 创建一个先前创建的字符串的另一个副本,FNstring将所有出现的 DOS (Windows) 或 UNIX 或 Mac 行终止替换为,<BR>并将此新字符串写入 UltraEdit 活动文档中的选择。
于 2014-01-20T11:06:58.280 回答