java正则表达式练习之分析lrc文件

[ar:方力申]

[ti:好心好报]

[by:酷狗音乐倾心制作]

[00:00.00]领袖音乐分享平台 http://www.kugou.com

[00:16.68]落力为你好 得不到分数

[00:20.56]你决定要跟他日后同步

[00:24.43]他不懂爱惜你 我乐意操劳

[00:31.74]还看着你 看你在悬崖走路

[00:36.24]他却放下你 只照顾自己

[00:40.18]我这片苦心无人赞美

[00:43.93]还不敢开口 不能妒忌

[00:47.06]对你好 无人稀罕我好

[00:50.81]无人欣赏我好

[00:52.50]原来你习惯他一套

[00:55.37]从来没有爱我 看得清楚 我知道

[00:58.94]不必得到 不妨陪衬 但愿为你好

[01:03.81]好 明明比他更好 旁人都知我好

[01:08.56]为何你又与他拥抱 来磨练我

[01:12.50]我信 有好心得好报

[01:15.25]好人 似我问谁做到

[01:25.50]是受罪也好 听听你哭诉

[01:29.37]你说难过总比分手更好

[01:32.87]你说几多的女主角 也受过煎熬

[01:40.68]情况坏到 你信任来年一日

[01:45.12]他答应做到 统统都做到

[01:49.06]我也似你的无从劝告

[01:52.87]宁愿牺牲都不愿却步

[01:55.87]对你好 无人稀罕我好

[01:59.62]无人欣赏我好

[02:01.69]原来你习惯他一套

[02:04.12]从来没有爱我 看得清楚 我知道

[02:08.69]不必得到 不妨陪衬 但愿为你好

[02:12.56]好 明明比他更好 旁人都知我好

[02:17.50]为何你又与他拥抱 来磨练我

[02:21.25]我信 有好心得好报

[02:24.00]虽然 这秒时辰未到

[02:41.50]我太好 无人珍惜我好

[02:44.87]无人喜欢我好

[02:46.94]原来要学会他一套

[02:49.37]从来没有吻过 记得清楚 我知道

[02:53.94]不必得到 不妨陪衬 但愿为你好

[02:57.87]好 明明比他更好 旁人都知我好

[03:02.63]无人爱慕我忍得到

[03:05.13]仍然相信 我会有天终于等到

[03:09.25]可能 你有日会知道

[03:19.18]领袖音乐分享平台 http://www.kugou.com

例如有以上歌词文件,现在要截取带时间的行的歌词。其代码可实现如下。

 

 

BufferedReader br;

    //获取文件 
    File file = new File(Environment.getExternalStorageDirectory() + "/test.lrc");

    //输入流,如果中文乱码注意后边的编码格式。

    InputStreamReader isr = new InputStreamReader(new FileInputStream(file), "GB2312"); 
    //有此方法方便每次读取一行

    br = new BufferedReader(isr); 
    String line = br.readLine(); 
    //去掉开头结尾空格

    line.trim(); 
    //匹配前面为"[dd:dd.dd]***"格式的行,下面\\d表示数字,{2}表示有2个

    Pattern pattern = Pattern.compile("(\\[\\d{2}+\\:\\d{2}\\.\\d{2}\\])(.*)");

    Matcher matcher = pattern.matcher(line);

    if(matcher.find()) {

//记住分组时从左边第一个左半小括号算起,一个小括号代表一组。这里获取歌词部分因此为2,若要获取时间,此处为1.

        System.out.println(matcher.group(2)); 
    }


 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值