在matlab中,有一些對於字串操作的函式,通過這些函式可以使對於字串的操作十分簡單,現在,就來介紹一些對於字串的基本操作:
建立乙個字串向量,然後對該向量做如下處理:
(1)取 2~6 個字元組成子字串。
(2)分別取第偶數個字元組成子字串。
(3)取出裡面的數字並轉化為數值,然後求和。
(4)去掉字串中的數字字元。
(5)將字串按照倒序重新排列。
(6)將字串中的小寫字母變成大寫字母,其他不變。
(7)統計字串中訊息字母的個數
首先建立乙個字串,用變數str儲存,並輸出,**如下:
string=
'lin12g13o1343n53153g154x6i547a 548o645s865h9e56ng'
;disp(string)
;
隨機提取若干字元,並組成新的字元:
str1=string(3:
8);disp(str1)
;
提取偶數個字元,並組成乙個新的字串,首先求解出該字串的長度,存在變數str_long中,然後從字串的第二個開始取,間隔步長為2,直至最後。
str_long=length(string)
; str2=string(2:
2:str_long)
;disp(str2)
;
首先提取字串中所有的數字,然後用str2num()函式將數字由字元型轉換成數值型,接著進行求和。
sum=0
;n=0;
for i=
1:str_long
if string(
1,i)
>
'0'& string(
1,i)
<
'9' num_str=string(
1,i)
;% disp(num_str)
; n=n+1;
sum=
sum+str2num(num_str)
; end
enddisp(
'sum of number');
disp(
sum)
;
首先做出判斷,找出所有的字元,並存在乙個新的字串裡面,最後用strrep(),函式去除字串裡面所有的空格。
x=1;
for i=
1:str_long
if(string(
1,i)
-'a'
>=
0& string(
1,i)
-'a'
<26)
||(string(
1,i)
-'a'
>=
0& string(
1,i)
-'a'
<
26)
str_str(
1,x)
=string(
1,i)
; x=x+1;
endendstr_str=strrep(str_str,
' ','')
;disp(str_str)
;
倒序輸出字串:
unstring=string(end:-1
:1);
disp(unstring)
;
upper()函式將字母由小寫轉換為大寫,lower()函式將字母由大寫轉換為小寫,然後其餘不是26個英文本母的,按原格式輸出。
for i=
1:str_long
n=string(
1,i)
;if n>=
'a'&
& n<=
'z' s(
1,i)
=upper(n)
; elseif n>=
'a'&
& n<=
'z' s(
1,i)
=lower(n)
;else
s(1,i)
=n; end
enddisp(s)
;
計算字串中所有除空格意外的字元所佔記憶體之和。
b = strtrim(string)
;blen = length(b)
matlab 字串操作
a hello b word 1.獲取字串長度 length a ans 5 2.連線兩個字串,每個字串最右邊的空格被裁切 strcat a,b ans hello word 連線多行字串,每行長度可不等,自動把非最長字串最右邊補空格 使與最長字串相等,會忽略空字串 e strvcat a,b,m ...
matlab 字串操作
strrep 字串查詢與替換 sprintf 格式化輸出資料到字串 strcmp 字串比較,後者忽略字母大小寫 sscanf 格式化從字串中讀取資料 regexp,regexpi 匹配正規表示式,後者忽略大小寫 regexprep 使用正規表示式替換字串 regexptranslate 將私服穿轉化...
MATLAB中字串操作
1.讀取name.txt檔名並讀取裡面的內容 第一種方式 比如說在e new下有一系列txt檔案,檔名符合matlab變數名的命名規則,並且沒有temp.txt檔案,每個檔案有兩列,以空格分割,第一列是字串,第二列是浮點數字,要讀取第二列的浮點數字為陣列並以檔名為變數名。file dir e new...