题目:写一个函数,尽可能高效的,从一个标准url里面取出文件的扩展名;例如:http://www.lehe.com/abc/d.php?id=456 需要取出php或.php

代码:

public class Test {
    public static void main(String[] args) {

        String html = "http://www.lehe.com/abc/d.php?id=456";

        // 方法1(只能取出php,如果需要.php,还需要自己添加.):
        String[] split1 = html.split("\\.");
        String text1 = split1[split1.length - 1];
        String substring1 = text1.substring(0, text1.indexOf("?"));
        System.out.println(substring1);

        // 方法2(和方法1类似):
        String[] split2 = html.split("\\.");
        String text2 = split2[split2.length - 1];
        String substring2 = text2.split("\\?")[0];
        System.out.println(substring2);

        // 方法3(通过控制substring的开始下标可以控制是否取出.):
        String[] split3 = html.split("/");
        String s = split3[split3.length - 1];
        String substring3 = s.substring(s.indexOf(".") + 1, s.indexOf("?"));
        System.out.println(substring3);

        // 方法4(不具有普遍性):
        int start = html.lastIndexOf("/");
        int end = html.lastIndexOf("?");
        String substring4 = html.substring(start + 3, end);
        System.out.println(substring4);
    }
}

结果:

php
php
php
php

解释:
split方法中的[]没什么特殊的含义,加和不加都可以

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值