使用matlab在文本文件中存储特定表达式后的单词

时间:2014-05-15 06:29:02

标签: string matlab flickr cell-array textscan

我有很多包含以下数据的文本文件:

{'photo':{'people':{'haspeople':0},'dateuploaded':'1264588417','originalformat':'jpg','tags':{'tag':[{'machine_tag ':0,'作者':'14988396 @ N00','text':'bokehlicious','raw':'Bokehlicious','authorname':'chachahavana','id':'1921934-4308203423-4944107'} ],[{'machine_tag':0,'author':'14988396 @ N00','text':'bokehlicious2','raw':'Bokehlicious2','authorname':'chachahavana','id':'1921934 -4308203423-4944107'}],'stat':'ok'}

这应该是json格式,但有一些问题导致它像这样被保存。

现在,我想从这些文件中提取特定字符串。例如,我想要以下内容: 文本bokehlicious,bokehlicious2等作为此文件的单元格数组。

我尝试使用文本扫描,但这没有任何正确的格式等等,所以我想知道如何在文本文件中出现所有'text'之后提取所有字符串。

你能否就如何做到这一点提供任何意见? 感谢

1 个答案:

答案 0 :(得分:0)

尝试使用正则表达式提取它。

fid = fopen('...yourpath\textFile.txt','r');
str = fread(fid,inf,'uint8=>char')';
str = strrep(str,'''','');
textStr = regexp(str,'(?<=text:\s*)\w*','match');

例如,如果你想要&#39;&#39;你用 regexp(str,'(?<=id:\s*)\w*','match');,而不是