android_对于字符的操作

1.截取字符串

iamchan/haha
//后台返回数据
String name = object.optString("name");
//判断这个字符串中是否包含这个斜线/
boolean status = name.contains("/");
//如果包含截取从0字符到第一个斜线字符之间
if(status) {
    String nameJ = name.substring(0, name.indexOf("/"));
    pb.setProduct(nameJ);
}else{
//没有斜线
    pb.setProduct(name);
}

上面截取的结果是iamchan

想截取haha怎么办

//从斜线开始截取  但是会包括斜线 所以需要再截取一个字符

String nameJ = name.substring(name.indexOf("/")).substring(1);

下面这幅图是subString的源码解释

android_对于字符的操作

下面是indexof源码解释  加一就是第二次出现的位置了

android_对于字符的操作

2.拼接字符串

主要就是拼接个这个符号

String companyIdString;//定义一个字符串变量
StringBuffer sb = new StringBuffer();//定义一个带有缓冲的字符串
//字符串和带有缓冲的字符串本质都是字符串 但是带有缓冲的字符串可以在他的后面可以追加数据
for(int i=0;i<companyIdList.size();i++){//一个循环 列表是上文传过来的
    if(companyIdList.size()==1){//判断列表中的数据是否是第一个 一条数据没有逗号
        sb.append(companyIdList.get(i).getCompany_id());
    }else if(i+1==companyIdList.size()) {//判断是否是最后一个 最后一条数据不加逗号
        sb.append(companyIdList.get(i).getCompany_id());
    }else{//其它情况加个逗号
        sb.append(companyIdList.get(i).getCompany_id()).append(",");
    }
}
companyIdString=sb.toString();//最后转化为字符串
if(companyIdString==null){//还有一种情况是没有数据 没有数据这里返回一个“”
    companyIdString="";
}

android_对于字符的操作