Создайте допустимые идентификаторы MATLAB из входных строк
N = matlab.lang.makeValidName(S)
N = matlab.lang.makeValidName(S,Name,Value)
[N, modified]
= matlab.lang.makeValidName(___)
создает допустимые идентификаторы MATLAB®, N
= matlab.lang.makeValidName(S
)N
, от входных строк, S
. Функция makeValidName
не гарантирует, что строки в N
уникальны.
Допустимый идентификатор MATLAB является вектором символов буквенно-цифрового индикатора (A–Z, a–z, 0–9) и символы нижнего подчеркивания, такие, что первый символ является буквой, и длина вектора символов меньше чем или равна namelengthmax
.
makeValidName
удаляет любые пробельные символы прежде заменяющий любые символы, которые не являются буквенно-цифровым индикатором или символами нижнего подчеркивания. Если пробельный символ сопровождается строчной буквой, makeValidName
преобразовывает букву соответствующему символу верхнего регистра.
включает дополнительные опции, заданные одним или несколькими аргументами пары N
= matlab.lang.makeValidName(S
,Name,Value
)Name,Value
.
Чтобы гарантировать, что входные значения допустимы и уникальны, используйте matlab.lang.makeUniqueStrings
после matlab.lang.makeValidName
.
S = {'my.Name','my_Name','my_Name'}; validValues = matlab.lang.makeValidName(S) validUniqueValues = matlab.lang.makeUniqueStrings(validValues,{},... namelengthmax)
validValues = 'my_Name' 'my_Name' 'my_Name' validUniqueValues = 'my_Name' 'my_Name_1' 'my_Name_2'
Чтобы настроить замену недопустимого символа, сначала используйте функции, такие как strrep
или regexprep
, чтобы преобразовать в допустимые символы. Например, преобразуйте символы '@'
в S
к 'At'
с помощью strrep(S,'@','At')
. Затем используйте matlab.lang.makeValidName
, чтобы гарантировать, что все символы в S
допустимы.
iskeyword
| isletter
| isvarname
| matlab.lang.makeUniqueStrings
| namelengthmax
| regexp
| regexprep
| strrep
| who