MATLAB 字符串

MATLAB 字符串

在MATLAB中创建字符串非常简单。实际上,我们已经使用了很多次。例如,您在命令提示符下键入以下内容-

在这里插入图片描述

示例
my_string = ‘(cainiaojc.com)’
MATLAB将执行上述语句并返回以下结果

my_string = (cainiaojc.com)
MATLAB将所有变量视为数组,而字符串则视为字符数组。让我们使用whos命令来检查上面创建的变量

whos
MATLAB将执行上述语句并返回以下结果-

Name Size Bytes Class Attributes
my_string 1x16 32 char
有趣的是,您可以使用数字转换函数,例如uint8或uint16以将字符串中的字符转换为其数字代码。char函数将整数向量转换回字符-

在线示例
创建一个脚本文件并在其中键入以下代码-

示例
my_string = ‘nhooo’‘s com’;
str_ascii = uint8(my_string) %8位 ascii 值
str_back_to_char= char(str_ascii)
str_16bit = uint16(my_string) %16位ascii值
str_back_to_char = char(str_16bit)
运行文件时,它显示以下结果-

str_ascii =

110 104 111 111 111 39 115 32 99 111 109

str_back_to_char = nhooo’s com
str_16bit =

110 104 111 111 111 39 115 32 99 111 109
str_back_to_char = nhooo’s com
矩形字符数组
到目前为止,我们讨论的字符串是一维字符数组。但是,我们需要存储更多。我们需要在程序中存储更多维度的文本数据。这是通过创建矩形字符数组来实现的。

创建矩形字符数组的最简单方法是根据需要垂直或水平连接两个或多个一维字符数组。

您可以通过以下两种方式垂直组合字符串-

使用MATLAB连接运算符[],并用分号(;)分隔每一行。请注意,在此方法中,每行必须包含相同数量的字符。对于长度不同的字符串,应根据需要使用空格字符填充。

使用char函数。如果字符串的长度不同,char会用尾随空格填充较短的字符串,以便每行具有相同的字符数。

实例
创建一个脚本文件并在其中键入以下代码-

示例
doc_profile = ['Zara Ali '; …
'Sr. Surgeon '; …
‘R N Tagore Cardiology Research Center’]
doc_profile = char(‘Zara Ali’, ‘Sr. Surgeon’, …
‘RN Tagore Cardiology Research Center’)
运行文件时,它显示以下结果-

doc_profile =
Zara Ali
Sr. Surgeon
R N Tagore Cardiology Research Center
doc_profile =
Zara Ali
Sr. Surgeon
RN Tagore Cardiology Research Center
您可以通过以下两种方式水平组合字符串-

使用MATLAB串联运算符[],并用逗号或空格分隔输入字符串。此方法保留输入数组中的所有尾随空格。

使用字符串串联函数 strcat,此方法删除输入中的尾随空格。

实例
创建一个脚本文件并在其中键入以下代码-

示例
name = 'Zara Ali ';
position = 'Sr. Surgeon ';
worksAt = ‘R N Tagore Cardiology Research Center’;
profile = [name ', ’ position ', ’ worksAt]
profile = strcat(name, ', ', position, ', ', worksAt)
运行文件时,它显示以下结果-

profile = Zara Ali , Sr. Surgeon , R N Tagore Cardiology Research Center
profile = Zara Ali,Sr. Surgeon,R N Tagore Cardiology Research Center
将字符串合并到单元格数组中
从前面的讨论中可以明显看出,合并长度不同的字符串可能会很麻烦,因为数组中的所有字符串都必须具有相同的长度。我们在字符串的末尾使用了空格来使它们的长度相等。

但是,组合字符串的更有效方法是将结果数组转换为单元格数组。

MATLAB单元数组可以在数组中保存不同大小和类型的数据。单元数组提供了一种更灵活的方式来存储长度可变的字符串。

cellstr函数将字符数组转换为字符串的单元格数组。

实例
创建一个脚本文件并在其中键入以下代码-

示例
name = 'Zara Ali ';
position = 'Sr. Surgeon ';
worksAt = ‘R N Tagore Cardiology Research Center’;
profile = char(name, position, worksAt);
profile = cellstr(profile);
disp(profile)
运行文件时,它显示以下结果-

{
[1,1] = Zara Ali
[2,1] = Sr. Surgeon
[3,1] = R N Tagore Cardiology Research Center
}
MATLAB中的字符串函数
MATLAB提供了许多字符串函数,用于创建,组合,解析,比较和操作字符串。

下表简要介绍了MATLAB中的字符串函数-

功能 作用
用于在字符数组中存储文本,组合字符数组等的函数
blanks
创建空白字符字符串

cellstr 从字符数组创建字符串的单元格数组
char
转换为字符数组(字符串)

iscellstr 确定输入是否为字符串的单元格数组
ischar 确定项目是否为字符数组
sprintf 将数据格式化为字符串
strcat 水平连接字符串
strjoin 将单元格数组中的字符串连接为单个字符串
识别字符串部分,查找和替换子字符串的函数
ischar 确定项目是否为字符数组
isletter 字母数组元素
isspace 作为空格字符的数组元素
isstrprop 确定字符串是否属于指定类别
sscanf 从字符串读取格式化数据
strfind 在另一个字符串中查找一个字符串
strrep 查找并替换子字符串
strsplit 在指定的分隔符处分割字符串
strtok 字符串的选定部分
validatestring 检查文本字符串的有效性
symvar 确定表达式中的符号变量
regexp 匹配正则表达式(区分大小写)
regexpi
匹配正则表达式(不区分大小写)

regexprep 使用正则表达式替换字符串
regexptranslate
将字符串转换为正则表达式

字符串比较功能
strcmp 比较字符串(区分大小写)
strcmpi
比较字符串(不区分大小写)

strncmp 比较字符串的前n个字符(区分大小写)
strncmpi
比较字符串的前 n 个字符(不区分大小写)

用于将字符串更改为大写或小写,创建或删除空格的函数
deblank 从字符串末尾去除尾随空白
strtrim 删除字符串的前导和尾随空格
lower 将字符串转换为小写
upper 将字符串转换为大写
strjust 对齐字符数组
实例
以下示例说明了上述一些字符串函数-

格式化字符串
创建一个脚本文件并在其中键入以下代码-

示例
A = pi1000ones(1,5);
sprintf(’ %f \n %.2f \n %+.2f \n %12.2f \n %012.2f \n’, A)
运行文件时,它显示以下结果-

ans = 3141.592654
3141.59
+3141.59
3141.59
000003141.59
连接字符串
创建一个脚本文件并在其中键入以下代码-

示例
%字符串单元格数组
str_array = {‘red’,‘blue’,‘green’, ‘yellow’, ‘orange’};

%将单元格数组中的字符串合并为单个字符串
str1 = strjoin(str_array, “-”)
str2 = strjoin(str_array, “,”)
运行文件时,它显示以下结果-

str1 = red-blue-green-yellow-orange
str2 = red,blue,green,yellow,orange
查找和替换字符串
创建一个脚本文件并在其中键入以下代码-

示例
students = {‘Zara Ali’, ‘Neha Bhatnagar’, …
‘Monica Malik’, ‘Madhu Gautam’, …
‘Madhu Sharma’, ‘Bhawna Sharma’,…
‘Nuha Ali’, ‘Reva Dutta’, …
‘Sunaina Ali’, ‘Sofia Kabir’};

%strrep函数搜索并替换子字符串。
new_student = strrep(students(8), ‘Reva’, ‘Poulomi’)
%显示名字
first_names = strtok(students)
运行文件时,它显示以下结果-

new_student =
{
[1,1] = Poulomi Dutta
}
first_names =
{
[1,1] = Zara
[1,2] = Neha
[1,3] = Monica
[1,4] = Madhu
[1,5] = Madhu
[1,6] = Bhawna
[1,7] = Nuha
[1,8] = Reva
[1,9] = Sunaina
[1,10] = Sofia
}
比较字符串
创建一个脚本文件并在其中键入以下代码-

示例
str1 = ‘This is test’
str2 = ‘This is text’
if (strcmp(str1, str2))
sprintf(‘%s and %s are equal’, str1, str2)
else
sprintf(‘%s and %s are not equal’, str1, str2)
end
运行文件时,它显示以下结果-

str1 = This is test
str2 = This is text
ans = This is test and This is text are not equal

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/586780.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Macos安装OrbStack

什么是OrbStack OrbStack 是一种在 macOS 上运行容器和 Linux 机器的快速、轻便和简单方法。它是 Docker Desktop 和 WSL 的超强替代品,所有这些都在一个易于使用的应用程序中。 在Macos M系列芯片上,经常遇到docker镜像不兼容的问题,此时使…

【初识Redis】

初识Redis Redis(Remote Dictionary Server)是一个开源的内存数据库,它提供了一个高性能的键值存储系统,并且支持多种数据结构,包括字符串、哈希、列表、集合和有序集合等。Redis的特点包括: 内存存储&…

[C语言]典型例题:小蚂蚁爬橡皮筋、买汽水问题、导致单词块、菱形打印……

1、小蚂蚁爬橡皮筋问题 假设橡皮筋长4m,小蚂蚁从一端爬向另一端每天爬1m,且每爬了1m,橡皮筋会立马拉伸4m,在理想条件下,小蚂蚁需要爬多少天可以到达橡皮筋的另一端? 不仔细想,我们很可能认为小蚂…

2023年蓝桥杯C++A组第三题:更小的数(双指针解法)

题目描述 小蓝有一个长度均为 n 且仅由数字字符 0 ∼ 9 组成的字符串,下标从 0 到 n − 1,你可以将其视作是一个具有 n 位的十进制数字 num,小蓝可以从 num 中选出一段连续的子串并将子串进行反转,最多反转一次。小蓝想要将选出的…

JavaEE 初阶篇-深入了解网络原理中传输层的端口号与 UDP 协议报文格式

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 端口号概述 1.1 端口号的作用 1.2 端口号不能重复被多个进程绑定 2.0 传输层协议 - UDP 2.1 UDP 的特性 2.2 UDP 的报文格式 1.0 端口号概述 端口号是计算机网络中…

多线程事务怎么回滚

1、背景介绍 1,最近有一个大数据量插入的操作入库的业务场景,需要先做一些其他修改操作,然后在执行插入操作,由于插入数据可能会很多,用到多线程去拆分数据并行处理来提高响应时间,如果有一个线程执行失败…

【算法小白周赛1A】分析 - 题解与代码

题目链接:https://www.starrycoding.com/problem/155 题目描述 小可可最近在学数学运算!他希望考考你,给你两个整数 A , B A,B A,B,询问 A B A\times B AB 是否是偶数。 注意,可能存在前导 0 0 0,比如…

面试题-Redis篇

什么是 Redis? Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key-value 数据库。 Redis 与其他 key - value 缓存产品有以下三个特点: Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时 …

【C语言】指针篇-精通库中的快速排序算法:巧妙掌握技巧(4/5)

🌈个人主页:是店小二呀 🌈C语言笔记专栏:C语言笔记 🌈C笔记专栏: C笔记 🌈喜欢的诗句:无人扶我青云志 我自踏雪至山巅 文章目录 一、回调函数二、快速排序(Qsort)2.1 Qsort参数部分介绍2.2 不…

【Flutter】极光推送配置流程(小米厂商通道) 章二

前言 继【Flutter】极光推送配置流程(极光通道/华为厂商/IOS) 章一 并且,我大概率不会去修改第一篇文章的内容。 随着我自己在配置公司的项目的同时,我希望一直更新这个推送系列文章。 在章一配置完后,也是出现了一些问题,所以本…

【第1章】spring-mvc搭建

文章目录 前言一、准备二、搭建1.搭建2.项目结构 三、第一个Servlet程序1. jsp2. servlet3. 启动 总结 前言 Java已经进入了飞速发展的阶段,spring-mvc也发生了巨大的变化,最让人无法忍受的就是javax.servlet.* 变成了jakarta.servlet.* ps:虽然使用起来…

GPT-ArcGIS数据处理、空间分析、可视化及多案例综合应用

在数字化和智能化的浪潮中,GIS(地理信息系统)和GPT(生成式预训练模型)的结合正日益成为推动科研、城市规划、环境监测等领域发展的关键技术。GIS以其强大的空间数据处理、先进的空间分析工具、灵活的地图制作与可视化能…

吴恩达2022机器学习专项课程(一)7.2 逻辑回归的简化成本函数课后实验 Lab5

问题预览/关键词 二分类问题的训练集(多特征)绘制训练集数据的散点图自定义plot_data() Python实现逻辑回归的成本函数自定义sigmoid() 调用成本函数不同的w,b,绘制逻辑回归模型的决策边界验证哪条决策边界效果好总结 二分类问题的…

精通GDBus:Linux IPC的现代C接口

目录标题 1. GDBus介绍2. GDBus的优点3. 安装GDBus4. 使用GDBus连接到D-Bus总线实现D-Bus服务调用D-Bus方法发送和接收信号 5. 总结 在Linux环境下,不同的程序需要通过某种方式进行通信和协同工作。GDBus是GLib库的一部分,提供了一个基于GObject系统的、…

中科驭数受邀成为移动云智能芯片开放实验室首批成员企业

4月28日至29日,2024中国移动算力网络大会在苏州举行。大会以“算力网络点亮AI新时代”为主题,全面展示了中国移动最新算力网络成果与能力。中科驭数作为移动云智能芯片开放实验室首批合作伙伴,受邀参加入驻仪式,中科驭数高级副总裁…

OpenCV的图像矩(64)

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV如何为等值线创建边界旋转框和椭圆(63) 下一篇 :OpenCV系列文章目录(持续更新中......) Image Moments(图像矩)是 OpenCV 库中的一个…

C语言----函数

1.函数的概念 函数:founction c语言的程序代码都是函数组成的 c语言中的函数就是一个完成某项特定的任务的一段代码,这段代码有特殊的写法和调用方法 c语言中我们一般见到两种函数: .库函数 .自定义函数 2.库函数 有对应的头文件 #i…

Python | Leetcode Python题解之第60题排列序列

题目: 题解: class Solution:def getPermutation(self, n: int, k: int) -> str:factorial [1]for i in range(1, n):factorial.append(factorial[-1] * i)k - 1ans list()valid [1] * (n 1)for i in range(1, n 1):order k // factorial[n - …

大数据分析与内存计算学习笔记

一、Scala编程初级实践 1.计算级数: 请用脚本的方式编程计算并输出下列级数的前n项之和Sn,直到Sn刚好大于或等于q为止,其中q为大于0的整数,其值通过键盘输入。(不使用脚本执行方式可写Java代码转换成Scala代码执行&a…

【面试经典 150 | 回溯】单词搜索

文章目录 写在前面Tag题目来源解题思路方法一:回溯 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题涉及到的数据结构等内容进行回顾…