詳解Matlab字串處理

2021-10-05 08:32:17 字數 2242 閱讀 5462

1.在matlab中,字串是用單引號括起來的字串行。

>> xm=

'central south university'

;>>xm(

1:3)

ans =

'cen'

2.若字串中的字元含有單引號,則該單引號字元要用兩個單引號來表示。

>>

'i''m a teacher.'

ans =

'i'm a teacher.'

3.建立多行字串,形成字串矩陣。

>> ch=

['abcdef'

;'123456'];

>>ch(

2,3)

ans =

'3'

4.字串的操作

(1)字串的執行

格式:eval(s)

s為字串

>> t=pi;

>> m=

'[t,sin(t),cos(t)]'

;>> y=

eval

(m)y =

3.1416

0.0000

-1.0000

(2)字串與數值之間的轉換

1⃣️abs和double函式都可以用來獲取字串矩陣所對應的ascii碼數值矩陣。

2⃣️char函式可以把ascii碼矩陣轉換為字串矩陣。

>> s1=

'matlab'

;>> a=

abs(s1)

a =77

6584

7665

66>>

char

(a+32

)ans =

'matlab'

(3)字串的比較

1⃣️字串的比較有兩種方法:利用關係運算子或字串比較函式。

2⃣️關係運算子比較:兩個字串裡的每個字元依次按ascii值大小逐個進行比較,比較的結果是乙個數值向量,向量中的元素要麼是1,要麼是0 。

>>

'www0'

>=

'w123'

ans =11

10

3⃣️字串比較函式用於判斷字串是否相等,有4種比較方式。

strcmp

(s1,s2)

用來比較字串s1和s2是否相等,如果相等,返回結果為1,否則返回0 。

strncmp

(s1,s2,n)

用來比較兩個字串前n個字元是否相等,如果相等,返回1,否則返回0 。

strcmpi

(s1,s2)

在忽略字母大小寫前提下,比較字串s1和s2是否相等,如果相等,返回1,否則,返回0 。

strncmpi

(s1,s2,n)

在忽略字串大小寫前提下,比較兩個字串前n個字元是否相等,如果相等,返回1,否則返回0 。

>>

strcmp

('www0'

,'w123'

)ans =

0>>

strncmpi

('www0'

,'w123',1

)ans =

1

4⃣️字串的查詢與替換

findstr

(s1,s2)

返回短字串在長字串中的開始位置。

strrep

(s1,s2,s3)

將字串s1中的所有子字串s2替換為字串s3 。

>>

findstr

('this is a test1!'

,'is'

)ans =36

>> p=

findstr

('is'

,'this is a test!'

)p =36

>> result=

strrep

('this is a test!'

,'test'

,'class'

)result =

'this is a class!'

matlab字串處理

matlab字串處理 字串處理 a a b b b c cccc m 獲取字串長度 length a 連線兩個字串,每個字串最右邊的空格被裁切 d strcat a,c length d 連線多行字串,每行長度可不等,自動把非最長字串最右邊補空格 使與最長字串相等,會忽略空字串 e strvcat ...

Matlab字串處理

length a 獲取字串長度 d strcat a,c 連線兩個字串,每個字串最右邊的空格被裁切 strcmp 比較兩個字串是否完全相等,是,返回真,否則,返回假 strncmp 比較兩個字串前n個字元是否相等,是,返回真,否則,返回假 strcmpi 比較兩個字串是否完全相等,忽略字母大小寫 s...

matlab字串處理

matlab字串處理 字串處理 a a b b b c cccc m length a 獲取字串長度 str str1,str2 無縫連線兩個字串 d strcat a,c 連線兩個字串,每個字串最右邊的空格被裁切 e strvcat a,b,m 連線多行字串,每行長度可不等,自動把非最長字串最右邊...