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

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


一只萌萌小番薯
浏览 1744回答 7
7回答

慕的地8271018

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

慕村225694

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

慕容708150

正则太难学 for循环太麻烦 看你的两组数据是有一定规则的 你可以考虑:1、如果数字位数是固定的 你可以使用substring 先截取后几位(例如先取出 1.0.1.txt) 然后再把.txt截取掉2、如果数据位数不是固定的 但.的个数固定 你可以先用数据接收 split 然后收到拼接小白想法 就这几个字节 速度不用考虑 ;想适用性强 那只能慢慢看正则了。

狐的传说

  String str = "XXX-1.0.2.txt";         String newstr = str.substring(str.length - 9);         newstr = newstr.substring(0, 5);         alert(newstr);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java