字符串相关

1. 获取文件某个符号最后一次出现的位置

int last = string.lastIndexOf(".");//获取文件后缀“.”最后一次出现的位置

2. 获取某个字符一次出现的位置

int index=str.indexOf(".");

3. 获取某个字符二次出现的位置(集合2)

int index=str.indexOf(".", index+1);

4. 截取某个符号之前字符串

String str1=str.substring(0, str.indexOf("."));

5. 截取某个符号之后字符串(结合4)

String str2=str.substring(str1.length()+1, str.length());

String str2=str.substring(str.indexOf(".")+1, str.length());

  • 注意:+1代表不截取当前这一位

6. 截取固定格式中的某段字符(固定字符/开始编号-结束编号),例如:mmm/1-10或sss/100-200

  • 获取固定字符位置
    int start = name.indexOf("/");
    int end = name.indexOf("-");
    
  • 获取固定编号
    String herd = name.substring(0, start);
  • 获取开始数字
    int a = Integer.parseInt(name.substring(start, end).substring("/".length()));
  • 获取结束数字
    int b = Integer.parseInt(name.substring(end + 1));
  • 获取数字长度
    int q = String.valueOf(i).length();
  • 补充完善编号(编号长度共5位,不足用0补齐)
              int number = 5;//编号长度
              for (int i = a; i <= b; i++) {
                  int q = String.valueOf(i).length();
                  switch (number - q) {
                      case 4:
                          list.add(herd + "0000" + i);
                          break;
                      case 3:
                          list.add(herd + "000" + i);
                          break;
                      case 2:
                          list.add(herd + "00" + i);
                          break;
                      case 1:
                          list.add(herd + "0" + i);
                          break;
                      case 0:
                          list.add(herd + i);
                          break;
                  }
              }