查看: 326|回复: 3|关注: 0

[已解决] 求助如何利用regexp得到下面字符里的数字

[复制链接]

入门

92 麦片

财富积分


50500


46

主题

1095

帖子

13

最佳答案
  • 关注者: 4
如何利用regexp输入 a=['';'>21,654,074.63</td> ;''>654,074.63</td>']
得到 b=[21654074.63   654074.63 ]

入门

92 麦片

财富积分


50500


46

主题

1095

帖子

13

最佳答案
  • 关注者: 4
 楼主| 发表于 2019-2-8 23:48:31 | 显示全部楼层
b=regexp(a,'''>-?\d{1,3}\,\d{3}\.\d{1,2}</td>|''>-?\d{1,3}\.\d{1,2}</td>|''>-?\d{1,3}\,\d{3}\,\d{3}\.\d{1,2}</td>|''>-?\d{1,3}\,\d{3}\,\d{3}\,\d{3}\.\d{1,2}</td>|''>--</td>|''>\d{4}\-\d{2}\-\d{2}','match');
b=regexprep(b,'''>|</td>|\,','');
自问自答:)

论坛优秀回答者

权威

3376 麦片

财富积分



2

主题

3643

帖子

759

最佳答案
  • 关注者: 154
发表于 2019-2-9 19:08:44 | 显示全部楼层 |此回复为最佳答案
qwesan123 发表于 2019-2-8 23:48
b=regexp(a,'''>-?\d{1,3}\,\d{3}\.\d{1,2}|''>-?\d{1,3}\.\d{1,2}|''>-?\d{1,3}\,\d{3}\,\d{3}\.\d{1,2}|' ...

这么长,有提取完毕没有?
  1. a=['';'>21,654,074.63</td> ;''>654,074.63</td>;>74.63</td>'];
  2. b=regexp(a,'>((\d*,){0,}\d*.\d*)</td>','tokens');
  3. cellfun(@(x)strrep(x,',',''),b)
复制代码

ans =
    {'21654074.63'}    {'654074.63'}    {'74.63'}

入门

92 麦片

财富积分


50500


46

主题

1095

帖子

13

最佳答案
  • 关注者: 4
 楼主| 发表于 2019-2-10 14:47:30 | 显示全部楼层
maple1314168 发表于 2019-2-9 19:08
这么长,有提取完毕没有?

ans =

谢谢 我的网页输完 好多正则
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表