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 = 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

a='[数字一12000] [数字二28000]';
index1=strfind(a,'一');
index2=strfind(a,'二');
index3=strfind(a,']');

num1=a(index1+1:index3(1)-1)
num2=a(index2+1:index3(2)-1)


Matlab使用技巧 (如何提取文档数据和表格数
Matlab提供了Notebook,使用户可以在word环境中调用matlab的强大功能。Notebook制作的M-book文档不仅拥有word的全部文字处理功能,而且具备matlab无与伦比的数学解算能力和计算结果可视化能力。1.Notebook的安装 在matlab命令行下,输入notebook -setup,然后按照提示安装相应word版本即可。2.matlab下启动notebook...

怎么把matlab的图像提取出来
用MATLAB编程时,常常遇到这样的问题,图形保存了下来,但数据却没有保留。MATLAB的图形相当于一个嵌套的结构(对象),可以通过各种属性来访问其中的数据。下面这段程序可以用来从图形中把数据找回来,这是一个从曲线中提取一维数组的例子。 % fnam是文件名 open('fnam.fig'); % 取出曲线的handle,...

matlab 如何提取工作空间的数据
用save来把数据存到mat文件 用load来读取相关mat文件 你可以在运行工具箱的函数里面加入save("文件路径")具体操作方法 输入 help save来看。然后出来以后用load("x.mat")读取 还有一种办法就是已知你工具箱的运行函数是什么,进去以后在最后一行前面加入debug的那个断点。这样在程序结束前会停止。你在...

matlab中如何从一个矩阵的一行中提取一个列?
解析:这是两条语句写在了一行上。以逗号分隔。第一句x1=x(:,1)和第二句x2=x(:,2)的语法结构是一样的。这里只以第一句为例。1. 首先是开头的x1=,这里的=号在matlab里面代表赋值。赋值就是把等号右边的值复制给左边的变量。因此x1将会得到等号右边的东西。2. 等号右边是x(:,1)。这个x在...

matlab中的数据截取(急)
首先提取一共有多少特定事物代码,然后根据特定事物代码将相同的行提取出来。需要使用unique函数,find函数,eval函数。示例如下:clcclose allclear allA = [21 724232 -3.99 43.34;21 724232 -3.99 43.34;22 724232 -3.99 43.34;]A_I = unique(A(:,1));for i = 1:length(A_I) ...

MATLAB中*.fig图像怎么提取数据?
4、根据你需要的是哪条线,第n条线句柄就是obj(n),如果只有一个对象直接用obj就可以,然后再用一次get。x=get(obj(1), 'xdata')。y=get(obj(1), 'ydata')。如果是三维图,再加上个z=get(obj(1),'zdata')。x、y、z就是你所需要的坐标数据 Matlab中图片保存的5种方法 1、使用...

如何用matlab提取所需数据(生成数据列表,从中选择一定范围的数据并提...
y = x([find(x(1:end)<=10.1&x(1:end)>=9.9)])x为你的数据矩阵

怎么用MATLAB简单编程提取数据啊?
clearclcA = exprnd(5,10,31); %产生10×31随机矩阵B = A; %为了保持原矩阵不变,将A赋给B%随机产生20个索引rdi = randerr(1,31,20); indexi = find(rdi == 1);%随机提取20列C = B(:,indexi);%得到剩下的数据B(:,indexi) = [];

matlab中如何提取边缘点坐标
MATLAB提取边缘点坐标,在曲线上每隔几个像素或相同的距离采一个特征点,然后提取出边缘点坐标,方法如下:寻找像素为1的点 col为横坐标 row为纵坐标 [col,row]=find(I == 1);%在一定范围内筛选坐标for(col=1:1024 ) for(row=1:768) if(col>374 & col<481 &row>146 &row<246) ...

matlab中如何提取一个矩阵除了某行外的其他元素?
如果不想影响a,可以先用b存起a 然后对b操作,删除掉不要的行就可以了 a=magic(3);b=a;b(2,:)=[]b = 8 1 6 4 9 2

猇亭区19678892548: 如何提取字符串中的数字 matlab -
满屈方舟: 用正则表达式匹配吧: >> s = '[数字一12000] [数字二28000]'s =[数字一12000] [数字二28000]>> ms = regexp( s, '(?<=\w+)\d+', 'match' )ms ='12000' '28000'然后将字符串转换为数字: >> num1 = str2num( ms{ 1 } )num1 =12000

猇亭区19678892548: matlab怎么将字符串变成数字? -
满屈方舟: 数字向字符转换 a=num2str(3),得到a='3' 字符向字符转换 a=str2num('3'),得到a=3matlab 获取字符串中的数字 str='1999.jpg' A=isstrprop(str,'digit'); B=str(A); C=str2num(B) MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实...

猇亭区19678892548: matlab编程,寻找字符串中的数字及数字个数 -
满屈方舟: 字符串为s ind=regexp(s,'\d','start');%ind为数字字符在s中的下标 num=length(ind);%num为数字字符的个数

猇亭区19678892548: 请问用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的元素转为空矩阵后,将剩余的数字字符串转化为数值

猇亭区19678892548: 怎么把字符串数字转换成数值matlab -
满屈方舟: 错在a1(1)='918',而不是str2num(a1(1))这样写a1='918'str2num(a1(1))就可以了.因为a1(1)调用了小括号这个运算符,它只能是一个字符或者整数,而不能是字符串.

猇亭区19678892548: 用Matlab可以从字母数字组成的字符串中提取数字吗 -
满屈方舟: str='abc3.14 1234 abcd 789 xyz 4.56 ew 22.6545678'; str1=regexp(str,'\d*\.?\d*','match') %cell 运行结果:str1 = '3.14' '1234' '789' '4.56' '22.6545678'

猇亭区19678892548: 如何用matlab提取字符串中的数字 -
满屈方舟: a = '阳极炉 503025kWh'; a(isstrprop(a,'digit')) ans = 503025

猇亭区19678892548: 用matlab提取.txt文件中字符串里面的数据 -
满屈方舟: clear; fid=fopen('D:\学习\网站.txt','r'); ss=fgets(fid); ii=1; while (length(ss)~=1)bb(ii,:)=ss(end-19:end-1);ii=ii+1;ss=fgets(fid); endbb里面存储的就是提取出来的日期时间

猇亭区19678892548: 如何用matlab将文本里的字符串转化为相应的数字?我编的程序哪里错了 -
满屈方舟: Y(i,j) == 3;改成 Y(i,j) = 3;

猇亭区19678892548: MATLAB 提取字母、数字和汉字 -
满屈方舟: A='测试账号test001' B=A; C=B(B>='0'& B<='9') B(B>='0'& B<='9')=[]; D=B((B>='a' & B<='z')|(B>='A' & B<='Z')) B((B>='a' & B<='z')|(B>='A' & B<='Z'))=[]

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