@Dasium в первом предложении имел в виду сохранить содержимое файла в список перед началом цикла, а потом его использовать N-ное количество раз. Но для большого количества файлов немного немного неудобный способ, так как придется создавать столько же списков. Почему-то сразу об этом не подумал...
Количество символов в строке
-
Как можно посчитать количество симолов в переменной? Создал JS код:
var text = 'lxzmtx' upper = text.match(/[A-Z]/g).length lower = text.match(/[a-z]/g).length nums = text.match(/[0-9]/g).length [[ALL_SYMBOL]] = upper + lower + numsПоток №1 : TypeError: Result of expression 'text.match(/[A-Z]/g)' [null] is not an object. во время выполнения действия 807978941
Прогнал код в java скрипте макроса, всё выдал четко. В чем проблема?
-
Если регулярное выражение содержит флаг g, метод вернёт массив, содержащий все сопоставления. Если сопоставлений не было, метод вернёт значение null.
А применением length к null вызывает ошибку
TypeError: Result of expression 'text.match(/[A-Z]/g)' [null] is not an object.Если в исходной строке будет заглавные, прописные буквы и цифры, то скрипт сработает нормально.
var text = 'lxzmtxQ1' upper = text.match(/[A-Z]/g).length lower = text.match(/[a-z]/g).length nums = text.match(/[0-9]/g).length [[ALL_SYMBOL]] = upper + lower + nums //вернёт 8
Прогнал код в java скрипте макроса, всё выдал четко.
Попробуй этот же скрипт в консоле браузера, будет такая же ошибка.