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 = pi*1000*ones(1,5);
sprintf(' %f \n %.2f \n %+.2f \n %12.2f \n %012.2f \n', A)
MATLAB

执行上面示例代码,得到以下结果 -

ans =  3141.592654 
 3141.59 
 +3141.59 
      3141.59 
 000003141.59
Shell

字符串连接

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

%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, ",")
MATLAB

执行上面示例代码,得到以下结果 -

str1 = red-blue-green-yellow-orange
str2 = red,blue,green,yellow,orange
Shell

查找和替换字符串

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

students = {'Bara Ali', 'Neha Bhatnagar', ...
            'Nonica Malik', 'Madhu Gautam', ...
            'Nadhu Sharma', 'Bhawna Sharma',...
            'Muha Ali', 'Reva Dutta', ...
            'Tunaina 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)
MATLAB

执行上面示例代码,得到以下结果 -

Trial>> students = {'Bara Ali', 'Neha Bhatnagar', ...
            'Nonica Malik', 'Madhu Gautam', ...
            'Nadhu Sharma', 'Bhawna Sharma',...
            'Muha Ali', 'Reva Dutta', ...
            'Tunaina 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 cell 数组

    {'Poulomi Dutta'}


first_names =

  1×10 cell 数组

  1 至 7 列

    {'Bara'}    {'Neha'}    {'Nonica'}    {'Madhu'}    {'Nadhu'}    {'Bhawna'}    {'Muha'}

  8 至 10 列

    {'Reva'}    {'Tunaina'}    {'Sofia'}
Shell

比较字符串

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

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
MATLAB

执行上面示例代码,得到以下结果 -

str1 = This is test
str2 = This is text
ans = This is test and This is text are not equal
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值