博客
关于我
Matlab中创建字符串数组
阅读量:361 次
发布时间:2019-03-04

本文共 1740 字,大约阅读时间需要 5 分钟。

MATLAB® 2016b版本中引入了字符串数组,这是一种存储文本片段的结构,提供了多种操作函数,使其能够像处理其他数组一样进行索引、重构和串联等操作。字符串数组的每个元素都是一个1×n的字符序列,可以通过双引号创建字符串或使用string函数将字符向量转换为字符串数组。

创建字符串数组

创建字符串数组的方法有多种。一种常见方式是直接使用双引号:

str = "Hello, world"

如果需要将字符向量转换为字符串数组,可以使用string函数:

hr = 'Greetings, friend'str = string(hr)

此外,使用数组运算符[]可以创建包含多个字符串的字符串数组:

str = ["Mercury", "Gemini", "Apollo"; "Skylab", "Skylab B", "ISS"]

要检查字符串的长度,可以使用strlength函数:

L = strlength(str)

如果需要将字符向量元胞数组转换为字符串数组,也可以使用string函数:

C = {'Mercury', 'Venus', 'Earth'}str = string(C)

此外,string函数还支持将其他数据类型(如数值、日期时间)转换为字符串:

X = [5 10 20 3.1416]str = string(X)d = datetime('now')str = string(d)

读取文本文件

除了手动输入字符串,MATLAB还提供了一些函数来读取外部文本文件。例如,可以使用readtabletextreadtextscanfscanf来从文件中读取数据并将其转换为字符串数组:

% 使用textread读取文本文件textdata = textread('filename.txt')% 使用readtable读取结构化数据data = readtable('filename.csv')% 使用textscan读取自定义格式的文本textdata = textscan('filename.txt', '%s')

空字符串和缺失值

字符串数组可以包含空字符串和缺失值。空字符串不包含任何字符,显示为""。缺失值类似于数值数组中的NaN,显示为<missing>

str = stringsstr(1) = "";str(2) = "Gemini";str(3) = string(missing)

检查缺失值可以使用ismissing函数:

ismissing(str)

访问和修改字符串

字符串数组支持数组运算,例如索引和重构。可以通过花括号直接访问字符:

str = ["Mercury", "Gemini", "Apollo"; "Skylab", "Skylab B", "ISS"];chr = str{2, 2};  % 获取第二行第二个元素

访问字符向量的前三个字符:

chr(1:3)

检查并修改字符串中的空格字符:

TF = isspace(str{2, 2});str{2, 2}(TF) = "-";

串联字符串数组

将字符串数组串联起来,可以使用数组运算符[]

str1 = ["Mercury", "Gemini", "Apollo"];str2 = ["Skylab", "Skylab B", "ISS"];str = [str1 str2];

向字符串追加文本

使用plus运算符可以向字符串追加文本:

names = ["Mary", "John", "Elizabeth", "Paul", "Ann"];names = names + " Smith";

拆分、联接和排序字符串数组

使用splitjoinsort函数可以对字符串数组进行操作。例如,拆分字符串数组:

names = ["Mary Jones", "John Adams", "Elizabeth Young", "Paul Burns", "Ann Spencer"];split_names = split(names);

将拆分后的数组重新联接:

joined_names = join(split_names);

转载地址:http://qbcr.baihongyu.com/

你可能感兴趣的文章
opencv21-像素重映射
查看>>
opencv22-直方图均衡化
查看>>
opencv23-直方图计算
查看>>
opencv24-直方图比较
查看>>
opencv25-直方图反向投影
查看>>
opencv26-模板匹配
查看>>
opencv27-轮廓发现
查看>>
opencv28-凸包
查看>>
opencv29-轮廓周围绘制矩形框和圆形框
查看>>
OpenCV3 install tutorial for Mac
查看>>
opencv3-Mat对象
查看>>
opencv30-图像矩
查看>>
opencv32-基于距离变换和分水岭的图像分割
查看>>
opencv4-图像操作
查看>>
opencv5-图像混合
查看>>
opencv6-调整图像亮度和对比度
查看>>
opencv7-绘制形状和文字
查看>>
opencv8-图像模糊
查看>>
opencv9-膨胀和腐蚀
查看>>
OpenCV_ cv2.imshow()
查看>>