用matlab 提取字符串中的数字。
用matlab读文件名,出现1005.xls;1.xls;100.xls等等这样的字符串,现在想用matlab将其中的数字提出来,成为10051100......这样的数...
用matlab读文件名,出现1005.xls; 1.xls; 100.xls等等这样的字符串,现在想用matlab将其中的数字提出来,成为 1005 1 100......这样的数组,向高手请教。好像可以使用regexp函数,但是具体操作有点不懂
展开
2个回答
展开全部
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转化一下
祝你学习愉快!
其中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转化一下
祝你学习愉快!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询