gpt4 book ai didi

string - 如何根据顺序对字符串进行编号

转载 作者:太空宇宙 更新时间:2023-11-03 19:52:27 25 4
gpt4 key购买 nike

我在 matlab 中有一个字符串元胞数组。有些字符串可能相等。我想按字典顺序对字符串进行编号。

例如,如果我有 {'abc','aty','utf8','sport','utf8','abc'},我想在输出中得到数组 [1, 2, 4, 3, 4, 1]

你能给我一些方法吗?

最佳答案

重复的字符串使 sort 变得棘手,但在这种情况下,您可以依赖 unique 的事实适用于字符串元胞数组,对其输出进行排序,并可选择返回原始输入中那些已排序元素的索引:

>> a = {'abc' 'aty' 'utf8' 'sport' 'utf8' 'abc'}
a =
{
[1,1] = abc
[1,2] = aty
[1,3] = utf8
[1,4] = sport
[1,5] = utf8
[1,6] = abc
}

>> [b, ~, index] = unique(a)
b =
{
[1,1] = abc
[1,2] = aty
[1,3] = sport
[1,4] = utf8
}
index =

1 2 4 3 4 1

或者您显然可以只使用 [~, ~, index] = unique(a); 如果您真的想要索引。

关于string - 如何根据顺序对字符串进行编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22285198/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com