【问题标题】:Split content of a cell if it has more than one string如果单元格包含多个字符串,则拆分单元格的内容
【发布时间】:2013-06-04 15:01:25
【问题描述】:

我对自己的问题有点困惑。

我正在使用一个单元格数组,通常,我有一组分散在不同单元格中的单词,我想将包含多个字符串的单元格拆分为不同的单元格,所以最后我会有单元格只包含一个字符串

例子

{data}.

    {1X2} 

    {1X1}

使用的数据组织如下

data 
 book
  => story, computer
    => politic



 I use x= regexp (data, '=>', 'split')

我想知道如何拆分包含多个字符串的单元格

j= regexp (x, ',', 'split');

结果

{1x2 cell}    {1x1 cell}    

变量 j 有

<1x2 cell>  ' politic'

那么,我怎样才能将单元格 1 中的内容分成两个单元格,以便它应该像

'story' 'computer' 'politic'

或者,

row 1  :'story' 'computer' 
row 2  : 'politic'
row [n]: 'whatever' 'so'

没有显示特定字符​​串的单元格似乎有多个字符串,我想将该单元格的内容精确地分解为不同的单元格 谁能帮帮我,

此外,如果可能的话,我可以使每个单元格,即使它包含一个字符串,连续。

非常感谢您的宝贵时间和丰富的知识

【问题讨论】:

  • 我们怎么知道你的例子里面有什么?发布您的示例的全部内容。您的regexp() 应该是正确的,除非单词也用空格分隔。
  • 谢谢@OlegKomarov 我已经更新了我的问题
  • @OlegKomarov 是的,有一个空格和换行符

标签: arrays string matlab iteration cell


【解决方案1】:
data{1} = 'fool';
data{2} = 'freedom, tyranny';
for ix = 1 : numel(data); 
      j = regexp(data{ix}, ',', 'split'); 
      if numel(j) > 1; 
          data{ix} = j; 
      end; 
end

执行上述操作,如果您在命令行上检查数据,您会得到:

data = 
  'fool'    {1x2 cell}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-10-23
    • 1970-01-01
    • 2021-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-22
    相关资源
    最近更新 更多