string - matlab向数字向量的每个元素添加一个字符串

标签 string matlab concatenation

我需要在数字向量和字符串向量之间切换:

a = [1, 2, 4, 5]
b = {'xx1', 'xx2', 'xx3', 'xx4'}

我尝试了 strcat('XX', num2str(a)),但它返回了 XX1 2 3 4 5,这不是我想要的。有人能告诉我如何从 a 创建 b 以及如何从 b 创建 a 吗?谢谢!

最佳答案

不需要循环或cellfun。让

a = [1, 2, 4, 15];
b = {'xx1', 'xx2', 'xx4', 'xx15'};

ba

使用 num2stra 转换为字符串元胞数组使用格式说明符 '%-i' 来利用 cellstr 的事实忽略尾随空格;在使用后者通过 strcat 连接后:

b_from_a = strcat('xx', cellstr(num2str(a(:), '%-i'))).';

ab

使用 strrep 从每个字符串中删除 xx , 然后申请 str2double :

a_from_b = str2double(strrep(b, 'xx', ''));

关于string - matlab向数字向量的每个元素添加一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48955421/

相关文章:

vue.js - 如何在 vue.js 中连接两个过滤值?

objective-c - #define URL as string in each .m file?

c# - C# 中与 DateTime 对象的字符串连接 : why is my code legal?

ruby - 在 Ruby 中用 ASCII 字符替换所有非 ASCII 字符的最简单方法是什么?

R:根据关系表将数字串转换为字母串

image - MATLAB:如何更改imhist的颜色和窗口的大小?

matlab - 从文本文件生成多行多列的元胞数组

javascript - 在javascript中解析数字比较字符串

java - 正则表达式在字符串中查找键->值

matlab - 我们如何使用 Matlab 在以下模型中生成 kappa 和 delta?