我有一個由單元組成的結構。我想刪除每個單元格開頭的所有空格,並且最後要保留單元格中文本之間的所有空格。所以,如果我有如何刪除matlab開頭和結尾的空格?
s = ' bbb b bbbb '
我想獲得
s = 'bbb b bbbb'
我想這個方法適用於未知數量的細胞在這個結構(例如2×3),可能使用一個循環。有沒有人有一個想法如何做到這一點?我失敗了regexp
。
我有一個由單元組成的結構。我想刪除每個單元格開頭的所有空格,並且最後要保留單元格中文本之間的所有空格。所以,如果我有如何刪除matlab開頭和結尾的空格?
s = ' bbb b bbbb '
我想獲得
s = 'bbb b bbbb'
我想這個方法適用於未知數量的細胞在這個結構(例如2×3),可能使用一個循環。有沒有人有一個想法如何做到這一點?我失敗了regexp
。
您可以結合使用strtrim()
與structfun()
和cell-indexing:
your_struct = structfun(@(x) strtrim(x{1}), your_struct);
這隻適用於你的str UCT有一個像
your_struct.a = {' some string '};
your_struct.b = {' some other string '};
...
如果它有不同的結構,比如佈局,
your_struct.a = { {' some string '}
{' some other string '}};
your_struct.b = { {' again, some string '}
{' again, some other string '}};
...
你可以嘗試
your_struct = structfun(@(x) ...
cellfun(@strtrim, x, 'uni', false), ...
your_struct, 'uni', false);
我有一個單元可以說10x2。每個單元格在開始,中間和結尾都包含一個帶有空格的字符串,在開始時想要除去這些內容。所以它就像** my_cell {1,1} ='name1'** ** my_cell {1,2} ='string1'** ** my_cell {2,1} ='new name2'**等等成爲最簡單的解決方案嗎?你的我沒有設法申請不幸.. – berndh
@ user1578163當你申請我的解決方案時,你會得到什麼?它會給出錯誤嗎?你能否編輯你的問題來包含你的結構+單元格的最小工作版本? –
當然,謝謝:我的工作示例是** M = {'title1''my name1'; 'title2''my name2'} **當我應用您的解決方案時得到的結果:STRUCTFUN的輸入必須是標量結構。 – berndh
如果A
是含有細胞的結構,那麼你可以做:
New_A=structfun(@strtrim,A,'UniformOutput',false)
strtrim不必總是採取的結束護理字符串爲我,所以我用deblank
所以如果strtrim沒有做你想要的一切,你可以使用與deblank一起獲得你想要的東西。
現在我得到了一個簡單而有用的答案:strtrim(s)!我如何將它應用於每個單元格? – berndh