2011-11-17 79 views
0

如果我有一個像[1 2 3; 4.0 c],我希望它能像matlab中的1234.0c那樣輸出它。我可以使用什麼功能?我正在尋找像在PHP修剪。matlab中的任何修剪功能?

有什麼想法? 感謝

+0

這不是一個有效的MATLAB參數!你不能有這樣的事情 – Ali

+0

@Momo如果答案是「接受」,以便正式通知回答者他的回答是最好的,或者提供一些關於你的問題的額外信息,這將是很好的。 – petrichor

+0

謝謝,我可能寫錯了,它是一個字符串輸出'[1 2 3; 4.0 c]'。 – Momo

回答

1

可以使用isstrprop功能與approppriate類別。對於你的情況,

>> str = '1 2 3; 4.0 c'; 
>> str(isstrprop(str, 'alphanum') | str == '.') 

ans = 

1234.0c 

你可以,如果你喜歡使用功能,如isletterisnumeric等。

此外,你可以在一行中創建自己的功能如下

>> myTrim = @(x)(x(isstrprop(x, 'alphanum') | x == '.')); 
>> myTrim(str) 

ans = 

1234.0c 

注意,你問[1 2 3; 4.0 c]作爲輸入這是不是一個MATLAB正確的語法。我以爲你想要一個字符串。此外,修剪實際上意味着從字符串中刪除前導空白和尾隨空白,並且在MATLAB中有這樣的strtrim

2

你可以用它來從一個字符串內刪除任何數量的空格:

>> a = char(' he llo wor ld '); 
>> a(isspace(a)) = [] %replaces all of the space with nothing 

a = 

helloworld 
+0

謝謝你,但特殊字符呢? – Momo

+2

您可以將'isspace(a)'部分更改爲幾乎任何您想要的。例如:'a(a =='%')= []'用' –

+0

代替所有'%'非常感謝。 – Momo

1

這不是一個有效的MATLAB參數。 但是,如果你有類似

a = ['1', '2' ,'3'; '4', '.','c']; 

可以使用

a(:)' 

得到

142.3c 

a = a'; 
a(:)' 

得到

123.4c