java 字符串截取的几种方式

1.split()+正则表达式来进行截取。
将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。

String str = "abc,12,3yy98,0";
String[]  strs=str.split(",");
for(int i=0,len=strs.length;i<len;i++){
    System.out.println(strs[i].toString());
}

运行结果:

abc
12
3yy98
0

2.通过subString()方法来进行字符串截取。
subString通过不同的参数来提供不同的截取方式
2.1只传一个参数
例如:

 String sb = "bbbdsajjds";
    sb.substring(2);

将字符串从索引号为2开始截取,一直到字符串末尾。(索引值从0开始);
2.2传入2个索引值

String sb = "bbbdsajjds";
sb.substring(2, 4);

从索引号2开始到索引好4结束(并且不包含索引4截取在内,也就是说实际截取的是2和3号字符);
运行结果如下:

bdsajjds
bd

举个例子,下面这个字符串,取出来MyCouponActivity

ios.YYVoucherViewController.android.MyCouponActivity?
JSONObject extrasJson = new JSONObject(extras);
            Log.i("extrasJson",extrasJson.toString());
            String back=extrasJson.optString("url");
            String top=  back.substring(0,3);
            Log.i("topff",top);
            if(top.equals("app")){
                String exittop=back.substring(6);
                Log.i("exittop",exittop);
                //  ios.YYVoucherViewController.android.MyCouponActivity?
                String exitend= exittop.substring(0,exittop.indexOf("?"));
                Log.i("exitend",exitend);
                //ios.YYVoucherViewController.android.MyCouponActivity
                String[] strs=exitend.split("\\.");

                String togoclass=strs[3].toString();

                  Intent  intent2 =new Intent(context, Class.forName("com.yylc.yylearncar.view.activity.mine."+togoclass));
                context.startActivity(intent2);

通过class.forName的方法,跳转到界面上,但是必须是类的全路径名称

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值