早安(在某些地区:))
几天来一直试图弄清楚,但仍然不起作用。 在此代码中,我只能用我的行找到光标的确切位置,即文本中的一个单词。但我需要找到所有。文本为 EXW90= 和一个值。值不同。我想移植数组中的所有值 - 仍然不起作用。变量"zeile"给了我所有的行号,其中是开始和结束 - 这适用于perfekt,但在这个开始和结束中,我需要找到所有EXW90=值。谁能帮忙?D 不是必需的(仅作为信息)。
function handle_PulsTeilwert(read){
function getText(tag, startpos, bwards, srange, wrap) {
if (!wrap) wrap = false;
var Range = require('ace/range').Range;
var zeile = [];
editor.findAll('needle',{
backwards: bwards,
wrap: wrap,
caseSensitive: false,
wholeWord: false,
regExp: false,
range: srange,
start: new Range (startpos.row, startpos.column, startpos.row, startpos.column)
});
editor.$search.set({ needle: tag });
zeile = editor.$search.find(editor.getSession());
return zeile;
}
var Range = require('ace/range').Range;
for (var D=1; D<=4; D++) {
var start = -1, end = -1;
var cursor = editor.getCursorPosition();
start = getText('(start_#D'+D.toString()+'_geom)', cursor, true, null);
end = getText('(end_#D'+D.toString()+'_geom)', cursor, false, null);
if (start !== null && end !== null)
if (cursor.row < end.start.row && cursor.row > start.start.row) {
end.start.row = cursor.row;
break;
}
}
if (start === null || end === null) return;
if (read){
var sRange = new Range (start.start.row, 0, end.start.row, 0);
var needle = /EXW90=[0-9]b|EXW90=[1-9][0-9]b|EXW90=[1-9][0-9][0-9]b|EXW90=[1-9][0-9][0-9][0-9]b|EXW90=[1-8][0-9][0-9][0-9][0-9]b|EXW90=90000b/;
var teilPulsWert = getText(needle, cursor, true , sRange); //where is the last EXW90 value
alert(teilPulsWert[0]); //in this var the first array value, in[1] the next and so on...
获取仅包含我使用的值的真实文本
teilPulsWert.start.column++;
newTeilPulsWert = editor.session.getTextRange(teilPulsWert).replace('EXW90=', '') ;
感谢您的帮助!
我有一个IDEO来做,它工作得很好
跟
var contentINcnc = ace.edit("editor"); //read all content in editor
var getContentINcncData = (contentINcnc.getSession().getValue()).split('EXW90=') ; //find all EXW90 an write it in an Array
getContentINcncData[1] = parseFloat(getContentINcncData[1].match(/d+.?d*/gi)[0]); //read out only the values, found in "EXW90=".
这运行完美。我在我的数组中的编辑器中找到了 EXW90 的所有值。
非常适合我!
这有效:-
editor.findAll('needles',{
wrap: true,
caseSensitive: true,
wholeWord: true,
regExp: false,
// preventScroll: true // do not change selection
})
var range = editor.getSelection().getAllRanges();
然后,范围将具有所有出现的数组列表。