String Matlab子串

String Matlab子串,string,matlab,String,Matlab,我试图在一个长字符串中获得一个特定值的平均值,但我不知道如何从字符串的中间提取一个值。我想从这个和其他字符串中拉出27,并添加它们 2015-10-1,33,27,20,29,24,20,96,85,70,30.51,30.40,30.13,10,9,4,10,6,T,5,Snow,35 2015-10-1,33,27,20,29,24,20,96,85,70,30.51,30.40,30.13,10,9,4,10,6,T,5,Snow,35 2015-10-2,37,32,27,32,27,2

我试图在一个长字符串中获得一个特定值的平均值,但我不知道如何从字符串的中间提取一个值。我想从这个和其他字符串中拉出27,并添加它们

2015-10-1,33,27,20,29,24,20,96,85,70,30.51,30.40,30.13,10,9,4,10,6,T,5,Snow,35 2015-10-1,33,27,20,29,24,20,96,85,70,30.51,30.40,30.13,10,9,4,10,6,T,5,Snow,35 2015-10-2,37,32,27,32,27,23,92,80,67,30.35,30.31,30.28,10,10,7,7,4,T,8,雨雪,19 2015-10-3,39,36,32,35,33,29100,90,79,30.30,30.17,30.11,10,7,0,8,3,0.21,8,雾雨,13 2015-10-4,40,37,34,38,36,33100,96,92,30.23,30.19,30.14,2,1,0,6,0,0.13,8,雾雨,27 2015-10-5,46,38,30,38,34,30100,91,61,30.19,30.08,29.93,10,7,0,6,2,T,6,雾雨,23

fid = fopen('MonthlyHistory.html');

for i=1:2
  str = fgets(fid);
  c = strsplit(str,',');
  mean=mean+c;
  end
fprintf('Average Daily Temperature: %d\n',mean);

您可以使用
textscan
,也可以使用它简化代码,但对于单个字符串,它的工作原理如下:

S='2015-10-1,33,27,20,29,24,20,96,85,70,30.51,30.40,30.13,10,9,4,10,6,,T,5,Snow,35'
T=textscan(S,'%s','Delimiter',',')
str2double(T{1}{3}) %// the value we want is the 3rd field

您可以使用
textscan
,也可以使用它简化代码,但对于单个字符串,它的工作原理如下:

S='2015-10-1,33,27,20,29,24,20,96,85,70,30.51,30.40,30.13,10,9,4,10,6,,T,5,Snow,35'
T=textscan(S,'%s','Delimiter',',')
str2double(T{1}{3}) %// the value we want is the 3rd field
方法1:使用可读表 我猜这是从地下气象局弄来的?拍摄并确保它以
.csv
结尾保存。那么我要做的是:

my_data = readtable('MonthlyHistory.csv');
这会将整个文件读入非常方便的
变量类型。然后你可以做:

average_daily_temp = my_data.MeanTemperatureF; %or whatever it is called in the table
我发现表格是跟踪表格数据的超级方便的方法。(加上可读性很好)

方法2:继续你的方法。。。 现在
my_data
是一个数组,包含每行的第三个元素。

方法1:使用readtable 我猜这是从地下气象局弄来的?拍摄并确保它以
.csv
结尾保存。那么我要做的是:

my_data = readtable('MonthlyHistory.csv');
这会将整个文件读入非常方便的
变量类型。然后你可以做:

average_daily_temp = my_data.MeanTemperatureF; %or whatever it is called in the table
我发现表格是跟踪表格数据的超级方便的方法。(加上可读性很好)

方法2:继续你的方法。。。
现在
my\u data
是一个数组,包含每行的第三个元素。

您的数据是高度结构化的吗?我们能否生存或死亡取决于您所寻找的值是否遵循第二个逗号?您的数据是否具有高度结构化?我们能生存还是死亡取决于你所寻找的值是否跟在第二个逗号后面?这是我正在学习的编程课程,可以,但我必须使用附加的.html文件。我用srtsplit(str,,)将它分解成子字符串,但现在我不知道如何添加子字符串。你说的“添加子字符串”是什么意思?它是一个.csv文件,对吗?也就是说,它是一组用逗号分隔的条目,而不是用31个超长字符串来解析其a.html的大量html,就像在循环中将字符串拆分为[1,1]=2015-10-1[1,2]=33[1,3]=27[1,4]=20[1,5]=29[1,6]=24[1,7]=20[1,8]中添加值[1,3]=96[1,9]=85[1,10]=70[1,11]=30.51[1,12]=30.40[1,13]=30.13[1,14]=10[1,15]=9[1,16]=4[1,17]=10[1,18]=6[1,19]=T[1,20]=5[1,21]=Snow[1,22]=35
对于我正在学习的编程课程来说,这是可行的,但我必须使用附加的.html文件。我用srtsplit(str,,)将它分解成子字符串,但现在我不知道如何添加子字符串。你说的“添加子字符串”是什么意思?它是一个.csv文件,对吗?也就是说,它是一组用逗号分隔的条目,而不是用31个超长字符串来解析其a.html的大量html,就像在循环中将字符串拆分为[1,1]=2015-10-1[1,2]=33[1,3]=27[1,4]=20[1,5]=29[1,6]=24[1,7]=20[1,8]中添加值[1,3]=96[1,9]=85[1,10]=70[1,11]=30.51[1,12]=30.40[1,13]=30.13[1,14]=10[1,15]=9[1,16]=4[1,17]=10[1,18]=6[1,19]=T[1,20]=5[1,21]=Snow[1,22]=35