2013-07-25 48 views
0

我有一個變量,它是一個列表框的字符串列表處理創建一個從其他字符串單串

string = get(handles.ListBox,'string'); 
string= 
     'file1' 
     'file2' 

我想創建一個字符串,如:

line= 'file1 file2' 

爲了寫它在我的輸出文件中的一行中。輸入文件的數量在每種情況下可能會有所不同,所以我希望以一般方式進行操作。我試過'horzcat','strcat'但沒有成功。

+0

你爲什麼不接受答案? – Mikhail

回答

1

我找到了一個不錯的方法:

S = {'file1'; 'file2'}; 
strjoin(S(:)', ' ') 
+0

我認爲@米哈伊爾的'strjoin(S')'是針對這個特定問題的正確解決方案。 – Dan

+0

什麼是轉置?我目前不在MATLAB附近; 'strjoin'是否需要單元格數組作爲行向量? –

+0

@EitanT啊我嘗試過使用'sprintf',但我沒有想到'{:}'使它不是一個單元矩陣! – Dan

6

有一個strjoin功能專門爲這項任務:

C = {'one', 'two', 'three'}; 
str = strjoin(C) 
+0

Bah!你是我編輯之前的一秒鐘!但是你需要重塑我的想法?如果我按照原樣嘗試你,我會得到錯誤。 – Dan

+1

可以使用轉置'S''。 – Mikhail

2

最簡單的方法,恕我直言乾淨的方法,就是讓一個「矩陣」其中:

s1 = 'bla'; 
s2 = 'blabla'; 
scat = [ s1, s2 ]; 
+2

似乎OP似乎已經有單元陣列形式的字符串。 – Mikhail