???Найдите сперва индекс последнего значимого символа согласно вашим условиям.
Обратный цикл от конца строки, пока символ незначимый. У первого значимого символа horizontaloffset
Могли бы показать пример?Например,
Обратный цикл от конца строки, пока символ незначимый. У первого значимого символа horizontaloffset
var line = app.selection[0].lines[0];
var beg = 0;
var end = line.characters.length - 1;
var last = null;
while (end >= beg) {
if ((/[a-zA-Zа-яА-Я]/i).test(line.characters[end].contents.toString())) {
last = line.characters[end];
break;
}
end--;
}
if (last && last.isValid) {
$.writeln(last.insertionPoints[1].horizontalOffset);
} else {
$.writeln('No valid characters');
}
Ты все ж решил на значимые проверять? А если, например, дефисы?[a-zA-Zа-яА-Я]
То что надо!!!JavaScript:var line = app.selection[0].lines[0]; var beg = 0; var end = line.characters.length - 1; var last = null; while (end >= beg) { if ((/[a-zA-Zа-яА-Я]/i).test(line.characters[end].contents.toString())) { last = line.characters[end]; break; } end--; } if (last && last.isValid) { $.writeln(last.insertionPoints[1].horizontalOffset); } else { $.writeln('No valid characters'); }
Я не в курсе, что именно значимым считается. Сделал буквы, но с устатку затупил. В выражении не нужны верхние символы, поскольку ключ i используется.Ты все ж решил на значимые проверять? А если, например, дефисы?
К сожалению, дефисы и многоточия (~e) - не видит. Как можно их игнорировать?Я не в курсе, что именно значимым считается. Сделал буквы, но с устатку затупил. В выражении не нужны верхние символы, поскольку ключ i используется.
Я не понял. Пример приведите - что надо, что нет.К сожалению, дефисы и многоточия (~e) - не видит. Как можно их игнорировать?
Разобрался, если убрать латиницу, оставив (/[а-яА-Я]/i). - все ok!.Я не понял. Пример приведите - что надо, что нет.
Вариант (/[a-zA-Zа-яА-Я]/i), рассматривает тире и символ многоточия, как букву.Разобрался, если убрать латиницу, оставив (/[а-яА-Я]/i). - все ok!.