matlab l 汉字字符串,MATLAB字符串

MATLAB字符串

在MATLAB中,创建一个字符串是相当简单。事实上,我们已经用了很多次。例如,在命令提示符处输入以下:

my_string='Tutorial''s Yiibai'

MATLAB 将执行上面的语句,并返回以下结果:

my_string =

Tutorial's Yiibai

MATLAB 认为所有变量,数组和字符串被视为字符数组。让我们使用的命令检查上面创建的变量:

whos

MATLAB将执行上面的语句,并返回以下结果:

Name Size Bytes Class Attributes

my_string 1x16 32 char

有趣的是,你可以使用数字转换函数,如uint8 或 uint16 字符串中的字符转换成数字代码。 char 函数整数向量转换回字符:

例子

创建一个脚本文件,并键入下面的代码:

my_string='Tutorial''s Yiibai';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 =

Columns 1 through 14

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

Columns 15 through 16

110 116

str_back_to_char =

Tutorial's Yiibai

str_16bit =

Columns 1 through 10

84 117 116 111 114 105 97 108 39 115

Columns 11 through 16

32 80 111 105 110 116

str_back_to_char =

Tutorial's Yiibai

矩形字符数组

到目前为止我们已经讨论过的字符串的字符数组是一维,但是,我们需要存储超过。我们需要更立体的文本数据存储在我们的程序中。这是通过创建的矩形的字符数组。

创建一个矩形字符数组的最简单的方法是通过连接两个或两个以上的一维字符数组,无论是垂直或水平的要求。

您可以合并垂直字符串通过以下方式之一:

使用 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)

当您运行该文件,它会显示以下结果:

'Zara Ali'

'Sr. Surgeon'

'R N Tagore Cardiology Research Center'

MATLAB中的字符串函数

MATLAB 提供了许多创建,组合,分析,比较和处理字符串的字符串函数。

下表提供 MATLAB 中的字符串函数的简要说明:

函数

目的/作用

用于存储文本字符数组的函数,结合字符数组,等等

blanks

Create string of blank characters

cellstr

Create cell array of strings from character array

char

Convert to character array (string)

iscellstr

Determine whether input is cell array of strings

ischar

Determine whether item is character array

sprintf

Format data into string

strcat

Concatenate strings horizontally

strjoin

Join strings in cell array into single string

识别字符串部分的函数,查找和替换子串

ischar

Determine whether item is character array

isletter

Array elements that are alphabetic letters

isspace

Array elements that are space characters

isstrprop

Determine whether string is of specified category

sscanf

Read formatted data from string

strfind

Find one string within another

strrep

Find and replace substring

strsplit

Split string at specified delimiter

strtok

Selected parts of string

validatestring

Check validity of text string

symvar

Determine symbolic variables in expression

regexp

Match regular expression (case sensitive)

regexpi

Match regular expression (case insensitive)

regexprep

Replace string using regular expression

regexptranslate

Translate string into regular expression

字符串比较函数

strcmp

Compare strings (case sensitive)

strcmpi

Compare strings (case insensitive)

strncmp

Compare first n characters of strings (case sensitive)

strncmpi

Compare first n characters of strings (case insensitive)

改变字符串大写或小写,创建或删除空格的函数

deblank

Strip trailing blanks from end of string

strtrim

Remove leading and trailing white space from string

lower

Convert string to lowercase

upper

Convert string to uppercase

strjust

Justify character array

例子

下面的示例说明了上述的一些字符串的函数:

格式化字符串

创建一个脚本文件,并键入下面的代码:

A=pi*1000*ones(1,5);sprintf(' %f

%.2f

%+.2f

%12.2f

%012.2f

',A)

当您运行该文件,它会显示以下结果:

ans =

3141.592654

3141.59

+3141.59

3141.59

000003141.59

加入字符串

创建一个脚本文件,并键入下面的代码:

%cell array of strings

str_array={'red','blue','green','yellow','orange'};%Joinstringsincell arrayintosinglestringstr1=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'};%Thestrrepfunctionsearchesandreplacessub-string.new_student=strrep(students(8),'Reva','Poulomi')%Displayfirst names

first_names=strtok(students)

当您运行该文件,它会显示以下结果:

new_student =

'Poulomi Dutta'

first_names =

Columns 1 through 6

'Zara' 'Neha' 'Monica' 'Madhu' 'Madhu' 'Bhawna'

Columns 7 through 10

'Nuha' 'Reva' 'Sunaina' 'Sofia'

比较字符串

创建一个脚本文件,并键入下面的代码:

str1='This is test'str2='This is text'if(strcmp(str1,str2))sprintf('%s and %s are equal',str1,str2)elsesprintf('%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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值