博客
关于我
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/

你可能感兴趣的文章
OpenMCU(二):GD32E23xx FreeRTOS移植
查看>>
OpenMMLab | S4模型详解:应对长序列建模的有效方法
查看>>
OpenMMLab | 【全网首发】Llama 3 微调项目实践与教程(XTuner 版)
查看>>
OpenMMLab | 面向多样应用需求,书生·浦语2.5开源超轻量、高性能多种参数版本
查看>>
OpenMV入门教程(非常详细)从零基础入门到精通,看完这一篇就够了
查看>>
OpenObserve云原生可观测平台本地Docker部署与远程访问实战教程
查看>>
OpenPPL PPQ量化(4):计算图的切分和调度 源码剖析
查看>>
OpenPPL PPQ量化(5):执行引擎 源码剖析
查看>>
openpyxl 模块的使用
查看>>
Openresty框架入门详解
查看>>
OpenResty(1):openresty介绍
查看>>
OpenResty(2):OpenResty开发环境搭建
查看>>
openshift搭建Istio企业级实战
查看>>
Openstack 之 网络设置静态IP地址
查看>>
OpenStack 综合服务详解
查看>>
OpenStack 网络服务Neutron详解
查看>>
Openstack(两控制节点+四计算节点)-1
查看>>
openstack--memecache
查看>>
openstack-keystone安装权限报错问题
查看>>
openstack【Kilo】汇总:包括20英文文档、各个组件新增功能及Kilo版部署
查看>>