主要内容

matlab.lang.makeUniqueStrings

입력string형에서고유한string형생성

설명

예제

U = matlab.lang.makeUniqueStrings(年代는중복항목에밑줄과번호를추가하여입력字符串형또는입력문자형벡터年代에서고유한字符串형또는문자형벡터U를생성합니다。

예제

U = matlab.lang.makeUniqueStrings(年代excludedStringsU내에서그리고excludedStrings에대해고유한字符串형또는고유한문자형벡터를생성합니다。makeUniqueStrings함수는excludedStrings에대해고유성을확하지않습니다。

예제

U = matlab.lang.makeUniqueStrings(年代whichStringsIdx는전체문자열내에서고유하게만들年代의부분을지정합니다。makeUniqueStringsS (whichStringsIdx)의소끼리서로고유하고나머지소에대해서도고유하도록만듭니다。makeUniqueStrings는나머지소를U로수정하지않은채로반환합니다。이구문은字符串형배열또는문자형벡터로구성된배열에서그배열의일부요소만고유한지확인하려는경우사용합니다。

예제

U = matlab.lang.makeUniqueStrings(年代___maxStringLengthU에있는소의최대길이maxStringLength를지정합니다。만일makeUniqueStringsmaxStringLength를초과하지않고年代의소를고유하게만드는것이불가능하다면오류가반환됩니다。이구문은위에열거된구문중하나의입력수에사용할수있습니다。

예제

U修改= matlab.lang.makeUniqueStrings(___는수정된소를나타내는논리형배열修改를반환합니다。

예제

모두 축소

이름으로구성된셀형배열을만들고각소를고유하게만듭니다。

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

makeUniqueStrings함수는세번째요소와다섯번째요소에있는중복된이름에밑줄과증분번호를추가합니다。

제외된값을지정하지않고U의문자형벡터를고유하게만듭니다。

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

출력값에서문자형벡터“尼克”을제외하도록지정합니다。

U = matlab.lang.makeUniqueStrings(S,“尼克”
U =1 x7单元格第1至5列{'John'} {'Sue'} {'Nick_1'} {'John_1'} {'Campion'}第6至7列{'John_2'} {'Jason'}

makeUniqueStringsU에서“尼克”을제외하고,그대신소3에서발견된첫번째중복항목을“Nick_1”로수정합니다。

고유한셀형배열에서작업공간변수를제외합니다。

苏= 42;U = matlab.lang.makeUniqueStrings(S,谁)
U =1 x7单元格第1至5列{'John'} {'Sue_1'} {'Nick'} {'John_1'} {'Campion'}第6至7列{'John_2'} {'Jason'}

“苏”가작업공간에존재하므로,makeUniqueStrings는밑줄과번호를추가하여이문자형벡터를고유하게만듭니다。

문자형벡터로구성된배열을만들고처음네개의소만고유하게만듭니다。

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

U의처음네개요소는서로고유하고다섯번째요소와여섯번째요소에있는나머지문자형벡터(“测试”“考试”)에대해서도고유합니다。아니면다음과같이선형인덱스의범위대신논리형배열을사용하여도동일한결과를얻을수있습니다。U = matlab.lang.makeUniqueStrings(S,[真正的真正的真正的真正的假假])또는U = matlab.lang.makeUniqueStrings(S,logical([1 1 1 1 0 0]))

중복된“测试”年代의끝에추가하여처음네개의소를고유하게만듭니다。

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

makeUniqueStrings가확하는문자형벡터는여전히서로고유하고나머지소에대해서도고유합니다。makeUniqueStrings는네번째소이후의소를확하지않으므로,중복된문자형벡터가남게됩니다。

年代에서처음세개의소가고유하고각문자열의최대길이가5배열을만듭니다。

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

첫번째소는5번째문자에서잘립니다。두번째소와세번째소는makeUniqueStrings가밑줄과번호를추가하고나서도여전히5자를초과하지않도록3번째문자에서잘립니다。

이름으로구성된셀형배열을만들고각소를고유하게만듭니다。출력값修改는입력값의어떤소가수정되었는지보여줍니다。

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

입력marketing수

모두 축소

입력문자열로,문자형벡터로구성된셀형배열,문자형벡터또는字符串형배열로지정됩니다。

U에서제외할문자형벡터로,문자형벡터로구성된셀형배열,문자형벡터또는字符串형배열로지정됩니다。

예:“dontDuplicateThis”

예:{“excludeS1”“excludeS2”}

예:[" excludeThis”“要求”)

예:

전체문자열내에서고유하도록만들年代의부분으로,선형marketing덱스의범위로지정되거나크기와형태가年代와같은논리형배열로지정됩니다。年代에중복된문자열이있는경우makeUniqueStrings함수는whichStringsIdx로지정된문자열만수정합니다。

whichStringsIdx가논리형배열경우,같은위치에있는배열소의값이真正的이면소가고유한지확합니다。

예:1:5逻辑([1 0 1])[真真假假]

U에있는문자열의최대길이로,정수로지정됩니다。만일makeUniqueStringsmaxStringLength를초과하지않고年代의소를고유하게만드는것이불가능하다면오류가반환됩니다。

출력marketing수

모두 축소

고유한문자열로,문자형벡터,문자형벡터로구성된셀형배열또는字符串형배열로반환됩니다。출력값은입력값年代와차원이같습니다。

수정된소의시자로,논리형스칼라또는논리형배열로반환되며입력수年代와동일한차원을가집니다。값1真正的)은makeUniqueStrings가해당위치에있는소를수정했음을나타냅니다。값0)은makeUniqueStrings가해당위치에있는소를수정할필가없었음을나타냅니다。

  • 입력값이유효하고고유한지확하려면matlab.lang.makeUniqueStrings전에matlab.lang.makeValidName을사용하십시오。

    S = {”我。名字的“my_Name”“my_Name”};validValues = matlab.lang.makeValidName(S) validUniqueValues = matlab.lang.makeUniqueStrings...{}, namelengthmax)
    validValues = 'my_Name' 'my_Name' 'my_Name' 'my_Name' ' validUniqueValues = 'my_Name' 'my_Name_1' 'my_Name_2' '

버전 내역

R2014a에개발됨