MATLAB中去掉字串中的空格,num2str引發的問題
阿新 • • 發佈:2018-12-31
MATLAB中去掉字串中的空格(前後以及中間)的函式
- 去掉前後的空格:
strtrim();
eg:
>> a = ' Keep Moving ', aLen = length(a)
a =
Keep Moving
aLen =
13
>> b = strtrim(a), bLen = length(b)
b =
Keep Moving
bLen =
11
- 去掉字串所有(包括前後以及內部)的空格
這個好像沒有專門的函式,不過可以轉化一下,通過替換實現:strrep();
eg:
>> a = ' Keep Moving ' , aLen = length(a)
a =
Keep Moving
aLen =
13
>> c = strrep(a, ' ', ''), cLen = length(c)
c =
KeepMoving
cLen =
10
- 引發上述問題的原因是我要用到
num2str()
函式將一個double型的行向量(僅包含0, 1)轉化為一個二進位制串,那麼問題來了:
>> m = [0, 1, 0, 1], mLen = length(m)
m =
0 1 0 1
mLen =
4
>> n = num2str(m), nLen = length (n)
n =
0 1 0 1
nLen =
10
由於後面要用到這個二進位制串,剛開始程式一直報錯,後來進行單步除錯,發現這個串長度很怪異;
原來,在將向量轉化為串時,MATLAB預設會在每個數後面加兩個空格,所以需要想辦法處理掉這些空格。
If you have any questions or any bugs are found, please feel free to contact me.
Your comments and suggestions are welcome!