CodeMirror - 剪切值并附加文本
CodeMirror - cut value and append text
有没有办法按行号截取值?
例如,这是我的编辑器的文本区域:
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 有没有办法将值按行切割成数组或其他东西?
您可以使用 .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);
有没有办法按行号截取值? 例如,这是我的编辑器的文本区域:
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 有没有办法将值按行切割成数组或其他东西?
您可以使用 .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);