MATLAB 字符串基本操作(一)


在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
end
disp('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;
    end
end
str_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
end
disp(s);

計算字符串中所有除空格意外的字符所占內存之和。

b = strtrim(string);
blen = length(b)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM