1. 程式人生 > >MATLAB 字串處理 (轉載)

MATLAB 字串處理 (轉載)

% 字串處理
a=’ a’;b=’b b’;c=’cccc’;m=”
% 獲取字串長度
length(a)
% 連線兩個字串,每個字串最右邊的空格被裁切
d=strcat(a,c)
length(d)
% 連線多行字串,每行長度可不等,自動把非最長字串最右邊補空格
% 使與最長字串相等,會忽略空字串
e=strvcat(a,b,m)
size(e)
% char連線,空字串會被空格填滿
f=char(a,b,m)
size(f)

% strcmp 比較兩個字串是否完全相等,是,返回真,否則,返回假
% strncmp 比較兩個字串前n個字元是否相等,是,返回真,否則,返回假
% strcmpi 比較兩個字串是否完全相等,忽略字母大小寫
% strncmpi 比較兩個字串前n個字元是否相等,忽略字母大小寫

% isletter 檢測字串中每個字元時否屬於英文字母
% isspace 檢測字串中每個字元是否屬於格式字元(空格,回車,製表,換行符等)
% isstrprop 檢測字元每一個字元是否屬於指定的範圍
a=’d sdsdsd 15#’;
b=isletter(a)
c=isspace(a)

% 字串替換和查詢
% strrep 進行字串替換,區分大小寫
% strrep(str1,str2,str3)
% 它把str1中所有的str2字串用str3來替換

% strfind(str,patten) 查詢str中是否有pattern,返回出現位置,沒有出現返回空陣列
% findstr(str1,str2) 查詢str1和str2中,較短字串在較長字串中出現的位置,沒有出現返回空陣列
% strmatch(patten,str) 檢查patten是否和str最左側部分一致
% strtok(str,char) 返回str中由char指定的字串前的部分和之後的部分,
mm=’youqwelcome’;
[mm1,mm2]=strtok(mm,’q’)

% blanks(n) 建立有n個空格組成的字串
% deblank(str) 裁切字串的尾部空格
% strtrim(str) 裁切字串的開頭和尾部的空格,製表,回車符

% lower(str) 將字串中的字母轉換成小寫
% upper(str) 將字串中的字母轉換成大寫
% sort(str) 按照字元的ASCII值對字串排序

% num2str 將數字轉換為數字字串
% str2num 將數字字串轉換為數字
% mat2str 將陣列轉換成字串
% int2str 把數值陣列轉換為整數數字組成的字元陣列

CELL陣列中的字串比較:

c=cell(2,1);
c(1,1)=cellstr(‘xxx’);
c(2,1)=cellstr(‘yyyyyyy’);
strcmp(c{1,1},c{2,1});

isequal Test arrays for equality, 可用來比較兩個字元陣列是否相同。