用matlab 如何提取字符串中的数字?

 我来答
ruifengcao
2018-01-11 · TA获得超过9491个赞
知道大有可为答主
回答量:3579
采纳率:33%
帮助的人:2074万
展开全部
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 [ \t\r\n\f\v]
\S Not whitespace [^ \t\r\n\f\v]
那么你的问题就可以使用下面的代码了
>>a='5000.xls'

a =

5000.xls

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

s =

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

祝你学习愉快!
其杨氏始诗
2019-09-30 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.2万
采纳率:33%
帮助的人:822万
展开全部
用正则表达式匹配吧:
>>
s
=
'[数字一12000]
[数字二28000]'
s
=
[数字一12000]
[数字二28000]
>>
ms
=
regexp(
s,
'(?<=\w+)\d+',
'match'
)
ms
=
'12000'
'28000'
然后将字符串转换为数字:
>>
num1
=
str2num(
ms{
1
}
)
num1
=
12000
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式