我有Excel CSV file
,其中包含一些文字和数据。例如,在CSV file
中,我有语句,如下所示(每个语句后面都有很多语句和数据。以下两个语句只是一个例子):
1_Q6 - Walmart (https://www.glassdoor.com)
5_Q5 - Phillips 66 (https://www.glassdoor.com)
所以,我希望从第一行的第一个语句中读取"Walmart"
,在第二行的第二个语句中读取"Phillips 66"
。如您所见,这两个单词的位置都有一个模式。它由连字符和空格连续。它有如下模式:
_Qnumber - "The word I am interested in" (
因此,总而言之,我希望阅读由"_Qnumber -"
继承并在" ("
之后的单词。 "number"
始终为5 or 6
。
我希望你得到我想要实现的目标。我已尝试使用xlsread
和textscan
但未成功。
非常感谢您提供的帮助。
答案 0 :(得分:1)
Textscan对我很有用:
>> type textscan.dat % show contents of file
1_Q6 - Walmart (https://www.glassdoor.com)
5_Q5 - Phillips 66 (https://www.glassdoor.com)
>> f = fopen ('textscan.dat', 'r');
>> C = textscan (f, '%*u_%*c%u - %s %*[^\n]')
C =
[2x1 uint32] {2x1 cell}
>> C{:}
ans =
6
5
ans =
'Walmart'
'Phillips'
PS。不要忘记,如果您需要重新阅读f
,则必须先frewind(f)
。另外,不要忘记fclose(f)
。
答案 1 :(得分:0)
http://www.mathworks.com/help/matlab/ref/regexp.html
这些是您正在寻找的功能。