Операции со строками
ОперацияОписание
<value> as stringконвертирует значение <value> в строку
<string>.countчисло знаков в строке (Целое число - только чтение)
<string> + <string>сложение строк
  
<string> == <string>6 операторов сравнения двух строк (чувствительны к регистру),
<string> != <string>чтобы сделать проверку, не зависящую от регистра,
<string> > <string>необходимо конвертировать строки в значения Name
<string> < <string> 
<string> >= <string> 
<string> <= <string> 
  
<string>[<index_number>]Возвращает знак с указанной позиции (начиная с 1)
<string> as <class>Конвертирует строку в величину указанного класса
 Примеры: "Foo" as name --ВОЗВРАЩАЕТ #foo
 "123.4" as float --ВОЗВРАЩАЕТ 123.4

При конвертации строки можно использовать любые числовые классы – Number, Float, Integer. В случае Number подходящий класс определится в зависимости от синтаксиса чисел строки.

Методы работы со строками
МетодОписание
copy <string>создает независимую копию строки и возвращает ее. Пример: newstr = copy oldstr
execute <string>выполняет содержимое строки как выражение MAXScript и возвращает результат вычисления.
 Примеры: execute "2+2" --ВОЗВРАЩАЕТ 4
 execute "select $Box01" --ВЫДЕЛЯЕТ ОБЪЕКТ Box01.
findString <string> \возвращает номер первого символа найденной строки или undefined, если строка не найдена.
<search_string>Пример: findString "Я обожаю MAXScript" "M" --ВОЗВРАЩАЕТ 10.
filterString <string> \разбивает строку на части и возвращает массив строк. Разбиение происходит на основе символов,
<token_string>заданных в строке <token_string>.
 Пример: filterString "MAX Script, это-супер" ", -" --ВОЗВРАЩАЕТ #("MAX", "Script", "это", "супер")
substring <string> <from_integer> \возвращает новую строку, содержащую часть исходной строки, начиная с номера <from_integer>
<length_integer> и длиной <length_integer>. Если сумма чисел <from_integer> и <length_integer> больше длины
 исходной строки или для <length_integer> задано отрицательное число, возвращается вся оставшаяся часть строки, начиная с номера <from_integer>
 Пример: s="ДИРИЖАБЛЬ"; ss=substring s 2 4 --"ИРИЖ"
 ss= substring s 6 -1 --"АБЛЬ"

Полезные и непечатные символы
Чтобы включить в строку кавычки и другие полезные символы, необходимо использовать их совместно с символом "\" – обратная косая черта (backslash).
Комбинации:
\"символ "
\nновая строка
\rвозврат каретки
\tтабуляция
\*символ *
\?символ ?
\\ символ \
\%символ %
\x{d}непечатные символы, где {d} - шестнадцатеричный символ (0-9, a-f)

Пример: print "Заключим в кавычки \"фу\" и перейдем на новую строку:\n"
Возвращает: "Заключим в кавычки "фу" и перейдем на новую строку:"

Пример непечатного символа в строке:
str="Copyright \xa9 2005, Ist02Works, Inc" --a9 – КОД СИМВОЛА ©

Следующий пример выводит в окно Listener все непечатные символы и их коды:
char="0123456789abcdef"
for i=1 to char.count do for j=1 to char.count do
(
s=execute("\"\\x"+char[i]+char[j]+"\"")
format "%% %\n" char[i] char[j] s
)

Путь к файлу через строковую переменную задается так: scene_path="g:\\3dsmax5\\scenes"
или так: scene_path="g:/3dsmax5/scenes" --ЭТА ЗАМЕНА РАБОТАЕТ ТОЛЬКО ДЛЯ ПУТЕЙ К ФАЙЛАМ.

Методы print и format
print <value> [to:<stream>] [#noMap]
Печатает величину в окно Listener (по умолчанию), в окно Editor, или в файл, если таковой определен заранее. Если аргумент <value> является коллекцией, а параметр #noMap не задан, то каждый элемент коллекции напечатается в отдельной строке, а если задан – вся коллекция будет на одной строке.
Примеры:
debug=newScript() --СОЗДАЕМ НОВЫЙ ПУСТОЙ СКРИПТ, ОТКРЫВАЕМ ЕГО В ОКНЕ Editor
print "something" to:debug --ПЕЧАТАЕМ В ОКНО Editor
file_1=createFile "my_script.ms" --СОЗДАЕМ НОВЫЙ ФАЙЛ
print selection to:file_1 --ПЕЧАТАЕМ КОЛЛЕКЦИЮ В ФАЙЛ

format <format_string> {<value>} [to:<stream>]
Работает аналогично методу print, позволяя добавлять значения параметров <value> в те места строки <format_string>, где есть знак %. Каждый знак % заменяется по порядку соответствующим значением.
Пример: format "название: %, координаты: %\n" obj.name obj.pos
На выходе: название: box01, координаты: [0, 150.0, 0.5]
Метод format не переходит новую строку автоматически, поэтому для ее создания нужно писать символ \n
.