String 如何读取Matlab中字符串变量中出现的预先指定字符的编号

String 如何读取Matlab中字符串变量中出现的预先指定字符的编号,string,matlab,parsing,String,Matlab,Parsing,我用Matlab处理一个大文件。在输入文件的每一行中,数据用点“”分隔。由于格式不好,输入文件中的点数可能会逐行更改 例如: line1 = 'DIDYMOTE.150.L20' line2 = 'N.ELBETI.150.L10' 如何读取每行中出现的点数?在matlab中,一切都是一个数组。所以 data = load('file.txt'); [no_lines, no_characters] = size(data); for i = 1 : no_lines no_dots

我用Matlab处理一个大文件。在输入文件的每一行中,数据用点“
”分隔。由于格式不好,输入文件中的点数可能会逐行更改

例如:

line1 = 'DIDYMOTE.150.L20'
line2 = 'N.ELBETI.150.L10'

如何读取每行中出现的点数?

在matlab中,一切都是一个数组。所以

data = load('file.txt');
[no_lines, no_characters] = size(data);

for i = 1 : no_lines
    no_dots[i] = 0
    for j = 1 : no_characters
         if data[i][j] == '.'
             no_dots[i] = no_dots[i] + 1
         end
    end
end
但是,matlab没有字符串,非常不适合处理文本数据。如果任何一行的长度不同,您将得到一个错误。即使不是这样,你最好使用另一种语言。学习如何用Python处理文本(例如)所需的时间比将问题放入matlab所需的时间要少。

使用regexp和outkey“split”。这是获取以“.”分隔的数据的答案。关于计数(您不再需要),您可以使用regexp,而无需指定outkey和计数您获得的输出数。。。