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

猜你喜欢

转载自blog.csdn.net/zhangliaobet/article/details/80712185