Matlab实现字符串分割
Matlab實現字符串分割(split)
Matlab的字符串處理沒有C#強大,本身又沒有提供OO特性,需要依賴別的手段完成這項任務。
我們在這里借助正則表達式函數regexp的split模式。一般語法:
S = regexp(str, char, 'split')
其中str是待分割的字符串,char是作為分隔符的字符(可以使用正則表達式)。分割出的結果存在S中。
以下面這樣一串字符為例
Hello Nocturne Studio
首先去除首尾的多余空格:
str = deblank(str)
例1:設這幾個字符串是以制表符分隔的,可以這樣來做:
S = regexp(str, '\t', 'split')
例2:設這些字符串是以一個或多個空格分隔的,可以用正則表達式來描述:
S = regexp(str, '\s+', 'split')
這樣,S(1)=’Hello’,S(2)=’Nocturne’,S(3)=’Studio’。
注意,上面得到的結果S是一個cell型變量,它的每個元素比如S(1)仍然是cell型的,只能用來display,不能直接用來進行字符串操作(比如獲取其中的某個字符),所以我們在使用需要執行一次:
s1 = char(S(1))
這樣的s1才是一個真正的字符串,可以進行后續的操作。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
補充一: Matlab中字符型到數值型轉換函數: str2num(data);
例如:
> str2num('0.00682392')
?ans =
0.0068
補充二: Matlab中顯示精度函數:format long;
只改變顯示格式,并不會影響實際內存中的數據精度,不會產生精度降低的問題
例如 (接上一個例子):
> format long
> str2num('0.00682392')
>ans=
0.006823920000000
> format short
>str2num('0.00682392')
>ans=
0.0068
?
?
總結
以上是生活随笔為你收集整理的Matlab实现字符串分割的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA中Final的用法
- 下一篇: MATLAB中FFT的使用方法