matlab.lang.makeUniqueStrings

Torna strings únicas anexando números às que colidem.

Categoria: Programming > Functions

Sintaxe

u = matlab.lang.makeUniqueStrings(str, exclusions)

Altera str para que não coincida com nenhum texto de exclusions.

u = matlab.lang.makeUniqueStrings(strs)

Faz os elementos de um cell array diferirem entre si.

Descrição

Uma string que já difere de tudo em exclusions é retornada sem alteração. Caso contrário, a função anexa _1, _2 e assim por diante até o nome ficar livre. Em um cell array sem exclusions, a primeira ocorrência é mantida e as duplicatas seguintes recebem sufixos em ordem.

Um uso típico é nomear novos itens, arquivos ou variáveis de tabela sem sobrescrever os existentes.

Argumentos de entrada

str
Texto ou cell array de textos a corrigir.
exclusions
Texto ou cell array de textos que o resultado deve evitar.

Argumentos de saída

u
O texto único, com a mesma forma de str.

Exemplo

Evitando nomes existentes

matlab.lang.makeUniqueStrings('file', {'file', 'file_1', 'other'})
matlab.lang.makeUniqueStrings({'a', 'a', 'b', 'a'})
Saída
ans = 'file_2'
ans = 1×4 cell

    {'a'}    {'a_1'}    {'b'}    {'a_2'}

Veja também

matlab.lang.makeValidName genvarname unique isvarname