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的源码解释
下面是indexof源码解释 加一就是第二次出现的位置了
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=""; }