CodeMirror-剪切值

问题描述 投票:0回答:1

有没有一种方法可以通过行号削减值?例如,这是我的编辑器的文本区域:

initial function () {
  a = '1';
  b = '2';
}

我将使用getRange()从编辑器获取初始函数内的值,这是我想要得到的:

a = '1';
b = '2';

现在,我想将文本附加到每一行值中:

let val = cm.getRange({line: 0, ch: 0}, {line: cm.lineCount()-1, ch: 0});
val = 'someText' + val.replace(/\s/g, '');

我会得到这样的东西

someTexta='1';b='2';

但是我想要的是

someTexta = '1';
someTextb = '2';

codemirror中是否可以通过行将值切成数组或其他内容?

javascript codemirror
1个回答
1
投票

您可以使用.split(/\n/)将字符串拆分为单独的行。这将为您在每一行的数组中提供一个元素。然后,您可以将.map()的每一行添加为带有"someText的字符串(仅当该行有效时-因此line ?检查)。然后,您可以使用.join('\n')将其转换回字符串。请参见下面的示例:

let val = ` a = '1';
  b = '2';`;
val = val.split(/\n/).map(line => line ? "someText" +line.trim() : line).join('\n');

console.log(val);
© www.soinside.com 2019 - 2024. All rights reserved.