首页 > 其他分享 >无涯教程-MATLAB - 字符串(Strings)

无涯教程-MATLAB - 字符串(Strings)

时间:2024-01-20 13:31:29浏览次数:21  
标签:profile 字符 数组 Ali 无涯 MATLAB str 字符串 Strings

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

my_string='Learnfk Point'

MATLAB将执行上述语句并返回以下输出-

my_string=Learnfk Point

MATLAB将所有变量视为数组,而字符串则视为字符数组,让我们使用 whos 命令检查上面创建的变量-

whos

MATLAB将执行上述语句并返回以下输出-

Name           Size            Bytes  Class    Attributes
my_string      1x16               32  char

有趣的是,您可以使用数字转换函数,例如 uint8 或 uint16 ,将字符串中的字符转换为数字代码, char 函数将整数向量转换回字符-

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

my_string='Learnfk''s Point';
str_ascii=uint8(my_string)        % 8-bit ascii values
str_back_to_char= char(str_ascii)  
str_16bit=uint16(my_string)       % 16-bit ascii values
str_back_to_char=char(str_16bit)  

运行文件时,它显示以下输出-

str_ascii =

   84  117  116  111  114  105   97  108   39  115   32   80  111  105  110  116

str_back_to_char=Tutorial's Point
str_16bit =

   84  117  116  111  114  105   97  108   39  115   32   80  111  105  110  116

str_back_to_char=Learnfk's Point

矩形字符数组

到目前为止,我们讨论的字符串是一维字符数组。但是,我们需要存储更多,我们通过创建矩形字符数组来实现的。

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

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

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中的字符串函数-

函数 用途
用于在字符数组中存储文本,组合字符数组等的函数。
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=pi*1000*ones(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 

连接字符串

创建一个脚本文件并在其中键入以下代码-
%cell array of strings
str_array={'red','blue','green', 'yellow', 'orange'};

% Join strings in cell array into single string
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'};
 
% The strrep function searches and replaces sub-string.
new_student=strrep(students(8), 'Reva', 'Poulomi')
% Display first names
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

参考链接

https://www.learnfk.com/matlab/matlab-strings.html

标签:profile,字符,数组,Ali,无涯,MATLAB,str,字符串,Strings
From: https://blog.51cto.com/u_14033984/9345504

相关文章

  • 无涯教程-MATLAB - 数字(Numbers)
    MATLAB支持各种数字类,包括有符号和无符号整数以及单精度和双精度浮点数,默认情况下,MATLAB将所有数值存储为双精度浮点数。您可以选择将任何数字或数字数组存储为整数或单精度数字,所有数值类型都支持基本数组运算和数学运算。数据类型MATLAB提供以下函数以转换为各种数值数据类......
  • 无涯教程-MATLAB - 冒号表示法
    colon(:)是MATLAB中最有用的运算符之一,它用于创建向量,下标数组和指定迭代次数。如果要创建包含1到10的整数的行向量,请编写-1:10MATLAB执行该语句并返回包含1到10的整数的行向量-ans=......
  • 无涯教程-MATLAB - 循环语句
    循环语句允许我们多次执行一个语句或一组语句,以下是大多数编程语言中循环语句的一般形式-MATLAB提供了以下类型的循环来处理循环需求。Sr.No.LoopType&描述1whileloop在给定条件为真时重复一个语句或一组语句。2forloop多次执行一个语句序列,并简化管理循环变量的......
  • 无涯教程-MATLAB - 变量声明
    在MATLAB环境中,每个变量都是一个数组或矩阵。您可以通过简单的方式分配变量。例如,x=3 %定义x并用一个值初始化它MATLAB将执行上述语句并返回以下输出-x=3它创建一个名为x的1-by-1矩阵,并将值3存储在其元素中,让我们再看一个例子,x=sqrt(16) %定义x并用表达式......
  • 无涯教程-MATLAB - 环境设置
    本地环境设置只需单击几下即可设置MATLAB环境。可以从此处下载安装程序。MathWorks还提供许可产品,试用版和学生版,下载安装程序后,只需单击几下即可安装软件。MATLAB环境可以从桌面上创建的图标启动MATLAB开发IDE。MATLAB中的主要工作窗口称为桌面,启动MATLAB后,桌面将以其默认......
  • 无涯教程-MATLAB - 简介
    MATLAB(MatrixLaboratory,矩阵实验室)是由美国TheMathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可用来创建用户界面,以及调用其它语言(包括C、C......
  • 无涯教程-PDFBox - PDF合并(Merge)
    在上一章中,无涯教程已经看到了如何将给定的PDF文档拆分为多个文档。现在学习如何将多个PDF文档合并为一个文档。合并多个PDF文档您可以使用名为PDFMergerUtility的类将多个PDF文档合并为一个PDF文档,该类提供了将两个或多个PDF文档合并为一个PDF文档的方法。以下是合并多个PD......
  • 无涯教程-PDFBox - 读取文本
    在上一章中,无涯教程了解了如何在现有的PDF文档中添加文本。在本章中将讨论如何从现有的PDF文档中读取文本。提取文本是PDF框库的主要功能之一。您可以使用PDFTextStripper类的getText()方法提取文本。此类从给定的PDF文档中提取所有文本。以下是从现有PDF文档提取文本的步骤......
  • 无涯教程-PDFBox - 环境设置
    安装PDFBox以下是下载ApachePDFBox的步骤-步骤1 - 通过单击以下链接打开ApachePDFBox的首页-https://pdfbox.apache.org/步骤2 - 上面的链接会将您定向到首页,如以下屏幕截图所示-步骤3 - 现在,单击上方屏幕快照中突出显示的下载链接。单击后,您将转到PDFBox的......
  • 无涯教程-Maven - 管理依赖项
    Maven的核心功能之一是依赖管理。一旦无涯教程要处理多模块项目(由数百个模块/子项目组成),管理依赖项将是一项艰巨的任务。Maven提供了高度的控制权来管理这种情况。依存关系当一个库(如A)依赖于另一个库(如B)时,通常是一种情况。如果另一个项目C要使用A,那么该项目也需要使用库B......