主要内容

matlab.lang.makeUniqueStrings

从输入字符串构造独特的字符串

描述

例子

U = matlab.lang.makeUniqueStrings (年代)结构独特的字符串或字符向量,U,从输入字符串或字符向量,年代通过添加下划线,副本的数量。

例子

U = matlab.lang.makeUniqueStrings (年代,excludedStrings)构造字符串或字符向量中是独一无二的U和对excludedStrings。的makeUniqueStrings函数不会检查excludedStrings的独特性。

例子

U = matlab.lang.makeUniqueStrings (年代,whichStringsIdx)指定的子集年代独特的在整个集。makeUniqueStrings使元素S (whichStringsIdx)独特的自己,对剩下的元素。makeUniqueStrings返回剩余的元素修改的U。使用这个语法当你有一个字符串数组或数组的特征向量,并需要检查,只有一些元素是独一无二的。

例子

U = matlab.lang.makeUniqueStrings (年代,___,maxStringLength)指定的最大长度,maxStringLength元素的U。如果makeUniqueStrings不能让元素年代独特的不超过maxStringLength,它返回一个错误。您可以使用该语法与任何输入参数的前面的语法。

例子

(U,修改)= matlab.lang.makeUniqueStrings (___)返回一个逻辑数组,修改,显示修改后的元素。

例子

全部折叠

创建一个单元阵列的名字,让每个元素独特的。

S = {“约翰。”“苏”“尼克”“约翰。”剪秋罗属植物的“约翰。”“杰森”};U = matlab.lang.makeUniqueStrings (S)
U =1 x7单元格列1到6{“约翰”}{‘苏’}{“尼克”}{‘John_1}{剪秋罗属植物的}{‘John_2}列7{“杰森”}

makeUniqueStrings函数附加元素的重复名称用下划线和递增数字3和5。

没有指定排除值,使特征向量U独一无二的。

S = {“约翰。”“苏”“尼克”“约翰。”剪秋罗属植物的“约翰。”“杰森”};U = matlab.lang.makeUniqueStrings (S)
U =1 x7单元格列1到6{“约翰”}{‘苏’}{“尼克”}{‘John_1}{剪秋罗属植物的}{‘John_2}列7{“杰森”}

指定该特征向量,“尼克”,应该排除在输出。

U = matlab.lang.makeUniqueStrings(年代,“尼克”)
U =1 x7单元格列1到5{“约翰”}{‘苏’}{‘Nick_1} {‘John_1}{}“剪秋罗属植物”列6到7 {‘John_2}{“杰森”}

makeUniqueStrings不包括“尼克”U而修改第一个重复,元素中发现3“Nick_1”

排除工作空间变量的独特的单元阵列。

苏= 42;U = matlab.lang.makeUniqueStrings(年代,谁)
U =1 x7单元格列1到5{“约翰”}{‘Sue_1}{“尼克”}{‘John_1}{}“剪秋罗属植物”列6到7 {‘John_2}{“杰森”}

“苏”在工作区中存在,makeUniqueStrings使得这个独特特征向量通过添加下划线和号码。

创建一个数组的特征向量,使只有第一个四个元素独一无二的。

S = {“测试”“测试”“测试”“考试”“测试”“考试”};U = matlab.lang.makeUniqueStrings(年代,1:4)
U =1 x6单元格列1到5 {‘quiz_1} {‘quiz_2} {‘quiz_3} {‘exam_1}{“测验”}列6{‘考试’}

第一个四个元素U是独一无二的,和其余的特征向量中元素5和6 (“测试”“考试”)。或者,您可以使用一个逻辑数组而不是一系列线性指数达到相同的结果:U = matlab.lang.makeUniqueStrings(年代,(真正的真正的真正的真正的假假])U = matlab.lang.makeUniqueStrings(年代,logical([1 1 1 1 0 0]))

附加一个复制“测试”到年底年代第一个四个元素独特的。

{结束+ 1}=“测试”
S =1 x7单元格列1到6{“测验”}{“测验”}{“测验”}{‘考试’}{“测验”}{‘考试’}列7{“测验”}
U = matlab.lang.makeUniqueStrings(年代,1:4)
U =1 x7单元格列1到5 {‘quiz_1} {‘quiz_2} {‘quiz_3} {‘exam_1}{“测验”}列6到7{‘考试’}{“测验”}

特征向量makeUniqueStrings检查中仍然是独一无二的自己,剩下的元素之一。自makeUniqueStrings不检查任何元素在元素4、重复特征向量仍然存在。

创建一个数组年代在前三个元素是独一无二的,每个字符串的最大长度是5。

S = {“sampleData”“sampleData”“sampleData”“sampleData”};U = matlab.lang.makeUniqueStrings(年代,1:3, 5)
U =1 x4单元格{' sampl} {‘sam_1} {‘sam_2} {' sampleData '}

第一个元素是5字符截断。第二个和第三个元素是截断允许3个字符makeUniqueStrings添加下划线和数量,而且还不超过5个字。

创建一个单元阵列的名字,让每个元素独特的。输出修改显示了元素的输入已经修改。

S = (“约翰。”“苏”“尼克”“约翰。”“剪秋罗属植物”“约翰。”“杰森”];[U,修改]= matlab.lang.makeUniqueStrings (S)
U =1 x7字符串“约翰”“苏”“尼克”“John_1”“剪秋罗属植物”“John_2”“杰森”
修改=1 x7逻辑阵列0 0 0 1 0 1 0

输入参数

全部折叠

输入字符串,指定为一个特征向量,单元阵列的特征向量,或字符串数组。

特征向量来排除U单元阵列指定为一个特征向量,特征向量,或字符串数组。

例子:“dontDuplicateThis”

例子:{“excludeS1”“excludeS2”}

例子:[" excludeThis”“要求”)

例子:

的子集年代让独特的在整个组,指定为一系列线性指数或逻辑数组相同的大小和形状年代。如果有重复年代,makeUniqueStrings只修改指定的函数whichStringsIdx

如果whichStringsIdx是一个逻辑数组,数组元素时检查独特性元素在同一位置的值吗真正的

例子:1:5,逻辑([1 0 1]),(真的假的真的)

字符串的最大长度U,指定为整数。如果makeUniqueStrings不能让元素年代独特的不超过maxStringLength,它返回一个错误。

输出参数

全部折叠

独特的字符串,作为特征向量,返回单元阵列的特征向量,或字符串数组。作为输入,输出具有相同的尺寸年代

修改元素的指标,作为逻辑标量或返回数组和拥有相同的维度作为输入,年代。的值1(真正的)表明,makeUniqueStrings修改元素在相应的位置。的值0()表明,makeUniqueStrings没有需要修改的元素在相应的位置。

提示

  • 确保输入值是有效的和独特的,使用matlab.lang.makeValidName之前matlab.lang.makeUniqueStrings

    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”

版本历史

介绍了R2014a