字符串拆分成数组,如,“ab&&2”,通过“&&”做分隔符,分割得到字符串数组[ab,2]

这篇博客介绍如何在Java中将字符串利用特定字符(例如'&&')作为分隔符,拆分成字符串数组。通过定义接口、创建实现类以及在main方法中操作,详细阐述了字符串拆分的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.接口

public interface NoSplitInter {
  public abstract void nosplit();
}

2.实现类

public class NoSplitImpl implements NoSplitInter {
  private String str;

  ArrayList<String> list = new ArrayList<String>();

  public NoSplitImpl(String str) {
    this.str = str;
  }

  @Override
  public void nosplit() {
    //字符串如果不为空
    while (!str.isEmpty()) {
      //如果字符串中包含 剔除的字符串
      if (str.contains("&&")) {
        //存在 获得该字符串的下标  截取从0到下标的字符串
        int index = str.indexOf("&&");
        list.add(str.substring(0, index));

        // 然后将刚刚已经添加到集合中的部分通过切割舍去
        str = str.substring(index + 2);
      } else {
        //不存在 就把最后一部分添加进集合
        list.add(str);
        break;
      }
    }
    System.out.println(list);
  }
}

3.main方法

public class NOSplit {
  public static void main(String[] args) {
//    多个不同的符号可以使用这个方法   \\w*\\w匹配字母数字
//    String regex = "\\w*\\w";
//    Pattern pattern = Pattern.compile(regex);
//    Matcher matcher = pattern.matcher(str);
//
//    while (matcher.find()) {
//      System.out.print(matcher.group());
//    }

    String str = "ab&&c";
    NoSplitImpl noSplit = new NoSplitImpl(str);
    noSplit.nosplit();
  }
}

字符串组合

实现字符串组合,如:[“ab”,“2”]通过“&&”分隔符,组合成字符串“ab&&2

 1.接口

public interface StrAddInter {
  public abstract void strAdd();
}

2.实现类

public class StrAddImpl implements StrAddInter {
  private String[] str;

  //用来放合并后的字符串
  private String newStr = "";

  public StrAddImpl(String[] str) {
    this.str = str;
  }

  @Override
  public void strAdd() {
    for (String s : str) {
      //输出为ab&&2&&
      newStr += s.substring(0, s.length()) + "&&";
    }
    //需要截取后面的&&
    System.out.println(newStr.substring(0,newStr.length()-2));
  }
}

3.main方法

public class NOSplit {
  public static void main(String[] args) {
    String str = "ab&&c";
    String[] strArrs = {"ab", "2"};

    System.out.println(Arrays.toString(strArrs));
    StrAddImpl strAdd = new StrAddImpl(strArrs);
    strAdd.strAdd();
  }
public class NOSplit {
  public static void main(String[] args) {
    String str = "ab&&c";
    String[] strArrs = {"ab", "2"};

//    多个不同的符号可以使用这个方法   \\w*\\w匹配字母数字
//    String regex = "\\w*\\w";
//    Pattern pattern = Pattern.compile(regex);
//    Matcher matcher = pattern.matcher(str);
//
//    while (matcher.find()) {
//      System.out.print(matcher.group());
//    }
    NoSplitImpl noSplit = new NoSplitImpl(str);
    noSplit.nosplit();
    System.out.println("--------------");
    System.out.println(Arrays.toString(strArrs));
    StrAddImpl strAdd = new StrAddImpl(strArrs);
    strAdd.strAdd();
    System.out.println("---------------");

    char[] chars = str.toCharArray();
    ArrayList<String> list = new ArrayList<>();
    for (char c : chars) {
      System.out.println(c);
      if (c != '&') {
        list.add(String.valueOf(c));
      }
    }
    System.out.println(list);
  }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值