关于matlab读取字符串中部分内容

作者&投稿:卞股 (若有异议请与网页底部的电邮联系)
用matlab 提取字符串中的数字。~

S = REGEXP(STRING,EXPRESSION)
其中EXPRESSION的取法为:
. Any character
[] Any character contained within the brackets
[^] Any character not contained within the brackets
\w A word character [a-z_A-Z0-9]
\W Not a word character [^a-z_A-Z0-9]
\d A digit [0-9]
\D Not a digit [^0-9]
\s Whitespace [
\f\v]
\S Not whitespace [^
\f\v]
那么你的问题就可以使用下面的代码了
>>a='5000.xls'

a =

5000.xls

>> s=a(regexp(a,'\d'))

s =

5000
这时的s是字符型的,如果你需要数字的话就是用str2num转化一下

祝你学习愉快!

用正则表达式匹配吧:
>> s = '[数字一12000] [数字二28000]'

s =

[数字一12000] [数字二28000]

>> ms = regexp( s, '(?<=\w+)\d+', 'match' )

ms =

'12000' '28000'

然后将字符串转换为数字:
>> num1 = str2num( ms{ 1 } )

num1 =

12000

字符串其实可以看成一个矢量,读取部分内容,只要找到想要读取部分的下标,或者需要剔除部分的下标即可。

例如有字符串 'this is just for example'
如果需要得到里面的单词而不需要空格,可以使用如下代码:
str='this is just for example';
i=find(str==' ');
c={str(1:i(1)-1)}; %把所有的单词最后存到c中
for j=1:length(i)-1
c={c{1:j},str(i(j)+1:i(j+1)-1)};
end
c={c{1:j+1},str(i(j+1)+1:end)};
celldisp(c); %列出c中读到的字符串

运行结果如下:
c{1} =

this

c{2} =

is

c{3} =

just

c{4} =

for

c{5} =

example

示例如下:
>> a='apple_1_1_1_crop'
a =
apple_1_1_1_crop
>> strfind ( a, '_crop' )
ans =
12
>> str = a( 1 : ans - 1 )
str =
apple_1_1_1

a='apple_1_1_1_crop';
ind=strfind(a,'_crop');
if ~isempty(ind)
b=a(1:ind(1)-1);
else
b=a;
end
b


给我一个实例,Matlab中用imread函数读取一个图像,求详细步骤
1、首先在电脑中打开Matlab,点击”新建脚本“,如下图所示。2、输入读取并显示图片的代码:f=imread('E:\\鱼木混猪.jpg');imshow(f);,如下图所示。3、点击“保存并运行”按钮,如下图所示。4、需要保存文件才能运行,选择文件保存位置,并设置文件名,文件名必须以字母开头,且只能为字母、数字和...

matlab怎么读取文本文件中的数据?
fidout=fopen('mkmatlab.txt','w'); % 创建MKMATLAB.txt文件 while ~feof(fidin) % 判断是否为文件末尾 tline=fgetl(fidin); % 从文件读行 if double(tline(1))>=48&&double(tline(1))<=57 % 判断首字符是否是数值 fprintf(fidout,'%s\\n\\n',tline); % 如果是数...

matlab怎么读取一幅图像,并转换为灰度图像
1、打开图片:在主界面上输入命令将图像转换为数据;Data = imread('folder icon.bmp')。2、查看数据:双击工作区中的数据,我们可以看到图像数据的具体信息。3、验证图像结果:输入命令,我们可以看到数据数据是图片所代表的;Imshow(数据)。4、灰度说明:我们可以通过输入指令获得灰度后的矩阵; GDATA ...

matlab如何读取一行数据,从而进行处理?
以取filein中的第line行写入fileout中的程序为例:1、首先输入下方的代码:function dataout=dataread(filein,fileout,line)fidin=fopen(filein,'r');fidout=fopen(fileout,'w');nline=0;while ~feof(fidin) % 判断是否为文件末尾 tline=fgetl(fidin); % 从文件读行 2、然后输入下方的...

Matlab如何读取文本文件
1、首先,这里举例自己先制作一个txtde 文本文件,如下面页面的内容。2、将文本文件放入matlab的工作路径,方便读取操作。例如,如果我的文本文件在桌面上,我可以将matlab的工作路径更改为桌面。具体方法是单击matlab当前工作路径后的省略号,弹出选项选择文件夹,然后选择相应的路径。3、接下来,我们使用...

Matlab中读取txt文件的几种方法
回答:17.891 -1.1286 33.045 1 11 111 1111 2 22 222 2222 3 33 333 3333 4 44 444 4444 5 55 555 5555” 方法有多种,现举两个比较简单实用的。方法一: file\/import data......\/next\/finish>> whosName Size Bytes Classdata 5x4 160 double array textdata 4x1 300 cell array...

matlab mat文件怎样读取和怎样调用
下面举例说明如何使用MATLAB函数读取和调用.mat文件:假设data.mat 中包含变量:a、b、c 1:load('data.mat'); % 或,load data.mat 该情况下降data.mat中所有的变量都导入进来,且变量名可以直接访问。比如访问a:Temp = a; % 即可 2:Varin = load('data.mat');该情况下,data.mat的所有...

如何读写Matlab的mat文件?
下面举例说明如何使用MATLAB函数读取和调用.mat文件:假设data.mat 中包含变量:a、b、c 1:load('data.mat'); % 或,load data.mat 该情况下降data.mat中所有的变量都导入进来,且变量名可以直接访问。比如访问a:Temp = a; % 即可 2:Varin = load('data.mat');该情况下,data.mat的所有...

如何从matlab中读取"*.txt"文本文件的格式
根据你文本文件内容的不同可以有很多不同的读取方法,详见 一、纯数据文件(没有字母和中文,纯数字)对于这种txt文档,从matalb中读取就简单多了 例如test.txt文件,内容为“17.901 -1.1111 33.045 17.891 -1.1286 33.045 17.884 -1.1345 33.045”可以在command window中输入load test.txt ...

matlab怎么读取txt文件
matlab怎么读取txt文件 以Matlab R2012b为例。首先打开matlab;选择current folder并加入当前路径;选择指定的txt文件,右键,选择导入数据;选择相应的数据类型,这里应选matrix。

鹰手营子矿区13918996572: 关于matlab读取字符串中部分内容
公任路迪: a='apple_1_1_1_crop'; ind=strfind(a,'_crop'); if ~isempty(ind) b=a(1:ind(1)-1); else b=a; end b

鹰手营子矿区13918996572: 如何用matlab提取字符型变量名中的部分 -
公任路迪: 字符串其实可以看成一个矢量,读取部分内容,只要找到想要读取部分的下标,或者需要剔除部分的下标即可.例如有字符串 'this is just for example' 如果需要得到里面的单词而不需要空格,可以使用如下代码:str='this is just for example'; i=find(...

鹰手营子矿区13918996572: MATLAB求助:字符串读取 -
公任路迪: 如果这个很长的字符串包含空格,那么读入是应该加空格辨认,不要因为空格把字符串拆散了. 假设你的这个文本文件是 myfile.txt 具体操作如下:cell_string=textread('myfile.txt','%s','whitespace',''); 如果没有空格,可以去掉空格辨认如下 ...

鹰手营子矿区13918996572: matlab 中如何截取字符串的一部分?例如取S2001中的2001? -
公任路迪: str = 'S2001'; partstr = str(2:end); 即可,将str作为矩阵来看就行.

鹰手营子矿区13918996572: matlab如何取文本中的部分数据? -
公任路迪: 先都读进来,然后再取某行某列.

鹰手营子矿区13918996572: 在matlab中,读取一个字符串中的某个字符的问题 -
公任路迪: 首先你得确定字符串中数字出现的位置有什么相似的规律,有规律的话就好处理了.比如说数字永远出现在“为”之后,等等,或者说完全没有什么规律,那只能通过字符的ascII码值来判断是否是数字了,然后提取

鹰手营子矿区13918996572: MATLAB如何只读取文本文档中的中间一部分数据? -
公任路迪: 把整个文本读入放在一个数组里面,然后筛选出需要的数据 ---------- 以上是一种原始的方法

鹰手营子矿区13918996572: 如何提取字符串中的数字 matlab -
公任路迪: 用正则表达式匹配吧: >> s = '[数字一12000] [数字二28000]'s =[数字一12000] [数字二28000]>> ms = regexp( s, '(?<=\w+)\d+', 'match' )ms ='12000' '28000'然后将字符串转换为数字: >> num1 = str2num( ms{ 1 } )num1 =12000

鹰手营子矿区13918996572: 请问用Matlab可以从字母数字组成的字符串中提取数字吗? -
公任路迪: MATLAB中字符串处理函数指令 中有个isletter,判断是否是字母 有个例子:str='Matlab R12.1';is_isletter=isletter(str) 结果是is_isletter =1 1 1 1 1 1 0 1 0 0 0 0 可见isletter的返回值是个矩阵,是字母的位置返回“1”,不是则返回“0” 因此你要的功能可以据此函数写出, 查找到为1的元素转为空矩阵后,将剩余的数字字符串转化为数值

鹰手营子矿区13918996572: matlab怎么读字符串里的数据 -
公任路迪: 解决方案1: 直接用缉鼎光刮叱钙癸水含惊ifft();例如信号x y=fft(x);%对信号傅里叶变换到频域 z=ifft(y);%对信号y傅里叶反变换到时域,解决方案2: 工具箱啊.IFFT()函数

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网