为了账号安全,请及时绑定邮箱和手机立即绑定

java 在带有数字、字母、字符组成的字符串分割出从数字开始到数字结束的固定字符串

java 在带有数字、字母、字符组成的字符串分割出从数字开始到数字结束的固定字符串

一只萌萌小番薯 2019-04-19 18:15:55
一串字符串,例如:bac-cd-de-1.0.1.txt。我想截取其中的1.0.1应该怎样截取?数字前面的顺序可能是不固定,有可能也有:aaa-bbb-1.0.2.txt截取1.0.2这种。中间的数字有可能是不固定的,也可能是1.10.12这种不只是单个数字。对于这种数字前面的字符串不是固定数量的这种字符串怎样分割。能不能从数字开始到数字结束,截取数字中间的一部分呢?但是他后面的.txt是一定在的。
查看完整描述

7 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

用字符串lastIndexOf获取最后一个分隔符“-”的索引,然后再用lastIndexOf获取后缀名的.的索引位置,最后进行截取即可


查看完整回答
反对 回复 2019-05-14
?
慕村225694

TA贡献1880条经验 获得超4个赞

正则表达式看看。应该是可以的


查看完整回答
反对 回复 2019-05-14
?
慕容708150

TA贡献1831条经验 获得超4个赞

正则太难学 for循环太麻烦 看你的两组数据是有一定规则的 你可以考虑:
1、如果数字位数是固定的 你可以使用substring 先截取后几位(例如先取出 1.0.1.txt) 然后再把.txt截取掉
2、如果数据位数不是固定的 但.的个数固定 你可以先用数据接收 split 然后收到拼接

小白想法 就这几个字节 速度不用考虑 ;
想适用性强 那只能慢慢看正则了。


查看完整回答
反对 回复 2019-05-14
?
狐的传说

TA贡献1804条经验 获得超3个赞

  String str = "XXX-1.0.2.txt";
        String newstr = str.substring(str.length - 9);
        newstr = newstr.substring(0, 5);
        alert(newstr);


查看完整回答
反对 回复 2019-05-14
  • 7 回答
  • 0 关注
  • 1743 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信