博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一个cut函数
阅读量:6332 次
发布时间:2019-06-22

本文共 1887 字,大约阅读时间需要 6 分钟。

    public static String cut(String html,String a,String b)

    {
        String truncated_html=html;
        int ai=html.indexOf(a);
        if (ai>-1)
        {
            truncated_html=html.substring(ai+a.length());
            int bi=truncated_html.indexOf(b);
            if (bi>-1)
            {
                truncated_html=truncated_html.substring(0, bi);
            }
        }
        return truncated_html;
    }

 

原先的版本

 

参考

import org.apache.commons.lang.StringUtils;

下的

substringBetween

 

 

后来的版本

public static String cut(String html,String a,String b)

    {
        //String range="()"//[)()[]
        String truncated_html=html;
        if (html==null)
        {
            truncated_html="";
            return truncated_html;
        }
       
        if (a==null && b==null)
        {
            return truncated_html;
        }
       
        if (a!=null && b==null)
        {
            int ai=html.indexOf(a);
            if (ai>-1)
            {
                truncated_html=html.substring(ai+a.length());
            }
            return truncated_html;
        }
       
        if(a==null && b!=null)
        {
            int bi=html.indexOf(b);
            if (bi>-1)
            {
                truncated_html=html.substring(0,bi);
            }
            return truncated_html;
        }
        int ai=html.indexOf(a);
        if (ai>-1)
        {
//            truncated_html=html.substring(ai+a.length());
                int bi=html.indexOf(b, ai+a.length());
//                System.out.println("bi:"+String.valueOf(bi));
                if (bi>-1)
                {
                    truncated_html=html.substring(ai+a.length(), bi);
                }
                else
                {
                    truncated_html=html.substring(ai+a.length());
                }
        }
        return truncated_html;
    }
}

 

 

    @Test

    public void CutTest()
    {
        String html="abcdefgzzdfadf";
        Assert.assertEquals("efg", StringUtils.cut(html,"cd","zz"));
        Assert.assertEquals("efgzzdfadf",StringUtils.cut(html,"cd","yy"));   
        Assert.assertEquals(html,StringUtils.cut(html,"u","yy"));
        Assert.assertEquals("abc",StringUtils.cut(html,null,"d"));
        Assert.assertEquals(html,StringUtils.cut(html,null,null));
        Assert.assertEquals("dfadf",StringUtils.cut(html,"zz",null));
        html="\" id=\"J_SpanLimitProm\">158.72</strong>元</li>";
        try{
            Double price=Double.parseDouble(StringUtils.cut(html,"J_SpanLimitProm\">","</strong>元"));
            System.out.println(price);
            Assert.assertEquals(158.72D, price);
        }
        catch(Exception ex)
        {
            System.out.println(ex.toString());
        }
    }

转载地址:http://yofoa.baihongyu.com/

你可能感兴趣的文章
UOJ#179. 线性规划(线性规划)
查看>>
整合spring cloud云架构 - SSO单点登录之OAuth2.0登录认证(1)
查看>>
Isolation Forest原理总结
查看>>
windows的服务中的登录身份本地系统账户、本地服务账户和网络服务账户修改
查看>>
JAVA中循环删除list中元素的方法总结
查看>>
redis 安装
查看>>
SQL some any all
查看>>
电子书下载:Programming Windows Identity Foundation
查看>>
有理想的程序员必须知道的15件事
查看>>
用于测试的字符串
查看>>
财付通和支付宝资料收集
查看>>
PHPCMS V9数据库表结构分析
查看>>
『原创』+『参考』基于PPC的图像对比程序——使用直方图度量
查看>>
理解 IEnumerable 与 IEnumerator
查看>>
NHibernate 2.0 Beta 1 Released和一些工具
查看>>
【每天一个Linux命令】12. Linux中which命令的用法
查看>>
软件接口数据一致性机制
查看>>
微服务架构介绍和RPC框架对比
查看>>
Debian下使用OpenLDAP 管理端
查看>>
泛型排序器TComparer
查看>>