早上好(在某些地区:))
自从几天以来一直试着想出来,但仍然无法正常工作。在这段代码中,我可以找到我的行,只有Cursor的位置,Text中的一个Word。但我需要找到所有。文本是EXW90 =和值。价值观是不同的。我想在一个数组中移植所有值 - 仍然无法正常工作。 变量" zeile"给我所有的行号在哪里是开始和结束 - 这是有效的,但在这个开始和结束时我需要找到所有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=90000\b/;
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=', '') ;
感谢您的帮助!
答案 0 :(得分:0)
我有一个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的所有值。
对我来说很完美!
答案 1 :(得分:0)
对我来说这很有效: -
editor.findAll('needles',{
wrap: true,
caseSensitive: true,
wholeWord: true,
regExp: false,
// preventScroll: true // do not change selection
})
var range = editor.getSelection()。getAllRanges();
然后,范围将包含所有出现的数组列表。