JAVA之String中删除指定字符方式(11种方法)

JAVA字符串中删除指定字符的11种方法

在JAVA编程中,经常需要处理字符串,其中常见的操作之一就是删除指定字符。下面将介绍11种常用的删除指定字符的方法。

方法1:使用replace方法替换指定字符

可以使用String类的replace方法,将要删除的字符替换成空字符串:

public static String deleteChar(String str, char c) {
    return str.replace(c + "", "");
}

使用示例:

String str = "hello world";
char c = 'l';
String newStr = deleteChar(str, c);
System.out.println(newStr); // 输出:heo word

方法2:使用replaceAll方法替换指定字符

可以使用String类的replaceAll方法,将要删除的字符替换成空字符串:

public static String deleteChar2(String str, char c) {
    return str.replaceAll(c + "", "");
}

使用示例:

String str = "hello world";
char c = 'l';
String newStr = deleteChar2(str, c);
System.out.println(newStr); // 输出:heo word

方法3:使用正则表达式替换指定字符

可以使用正则表达式替换要删除的字符:

public static String deleteChar3(String str, char c) {
    String reg = "[" + c + "]";
    return str.replaceAll(reg, "");
}

使用示例:

String str = "hello world";
char c = 'l';
String newStr = deleteChar3(str, c);
System.out.println(newStr); // 输出:heo word

方法4:使用StringBuffer删除指定字符

可以使用StringBuffer类的deleteCharAt方法,删除指定位置的字符:

public static String deleteChar4(String str, char c) {
    StringBuffer sb = new StringBuffer(str);
    for (int i = 0; i < sb.length(); i++) {
        if (sb.charAt(i) == c) {
            sb.deleteCharAt(i);
        }
    }
    return sb.toString();
}

使用示例:

String str = "hello world";
char c = 'l';
String newStr = deleteChar4(str, c);
System.out.println(newStr); // 输出:heo word

方法5:使用StringBuilder删除指定字符

StringBuilder类与StringBuffer类类似,也可以使用deleteCharAt方法删除指定位置的字符:

public static String deleteChar5(String str, char c) {
    StringBuilder sb = new StringBuilder(str);
    for (int i = 0; i < sb.length(); i++) {
        if (sb.charAt(i) == c) {
            sb.deleteCharAt(i);
        }
    }
    return sb.toString();
}

使用示例:

String str = "hello world";
char c = 'l';
String newStr = deleteChar5(str, c);
System.out.println(newStr); // 输出:heo word

方法6:使用正则表达式截取指定字符之前的部分和之后的部分

可以使用正则表达式截取指定字符之前的部分和之后的部分,然后将它们拼接起来:

public static String deleteChar6(String str, char c) {
    String[] strs = str.split(c + "");
    StringBuilder sb = new StringBuilder();
    for (String s : strs) {
        sb.append(s);
    }
    return sb.toString();
}

使用示例:

String str = "hello world";
char c = 'l';
String newStr = deleteChar6(str, c);
System.out.println(newStr); // 输出:heo word

方法7:使用StringTokenizer分割字符串

可以使用StringTokenizer类来分割字符串,然后将分割出来的部分拼接起来:

public static String deleteChar7(String str, char c) {
    StringTokenizer st = new StringTokenizer(str, c + "");
    StringBuilder sb = new StringBuilder();
    while (st.hasMoreTokens()) {
        sb.append(st.nextToken());
    }
    return sb.toString();
}

使用示例:

String str = "hello world";
char c = 'l';
String newStr = deleteChar7(str, c);
System.out.println(newStr); // 输出:heo word

方法8:使用indexOf和substring删除指定字符

可以使用indexOf方法找到要删除的字符串的位置,然后使用substring方法将其移除:

public static String deleteChar8(String str, char c) {
    StringBuilder sb = new StringBuilder(str);
    int index = -1;
    while ((index = sb.indexOf(c + "")) != -1) {
        sb = sb.deleteCharAt(index);
    }
    return sb.toString();
}

使用示例:

String str = "hello world";
char c = 'l';
String newStr = deleteChar8(str, c);
System.out.println(newStr); // 输出:heo word

方法9:使用split和join删除指定字符

可以使用split方法将字符串分割成数组,然后使用join方法将数组拼接成字符串:

public static String deleteChar9(String str, char c) {
    String[] strs = str.split(c + "");
    return String.join("", strs);
}

使用示例:

String str = "hello world";
char c = 'l';
String newStr = deleteChar9(str, c);
System.out.println(newStr); // 输出:heo word

方法10:使用正则表达式删除指定字符

可以使用正则表达式删除指定字符:

public static String deleteChar10(String str, char c) {
    String reg = "[" + c + "]";
    return str.replaceAll(reg, "");
}

使用示例:

String str = "hello world";
char c = 'l';
String newStr = deleteChar10(str, c);
System.out.println(newStr); // 输出:heo word

方法11:使用迭代器删除指定字符

可以使用Iterator类来迭代删除指定字符:

public static String deleteChar11(String str, char c) {
    StringBuilder sb = new StringBuilder(str);
    Iterator<Character> iterator = sb.chars()
                                      .mapToObj(e -> (char) e)
                                      .iterator();  
    while (iterator.hasNext()) {
        if (iterator.next() == c) {
            iterator.remove();
        }
    }
    return sb.toString();
}

使用示例:

String str = "hello world";
char c = 'l';
String newStr = deleteChar11(str, c);
System.out.println(newStr); // 输出:heo word

总结

以上是删除指定字符的11种方法,每种方法都有其适合场景和使用方式,需要注意的是,String类是不可变类,所以每次操作都需要重新构造字符串。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JAVA之String中删除指定字符方式(11种方法) - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • 图解linux安装tomcat(附常用命令)

    图解Linux安装Tomcat(附常用命令) 在Linux安装Tomcat可能会遇到一些问题,本文将为你详细讲解Linux安装Tomcat的过程,同时也会介绍一些常用命令。 准备工作 在开始安装Tomcat之前,我们需要做一些准备工作。 1. 安装Java Tomcat运行在Java环境下,因此在安装Tomcat之前,需要先安装Java。下面是安装Java的…

    Java 2023年5月19日
    00
  • Java中Arraylist动态扩容方法详解

    下面是“Java中ArrayList动态扩容方法详解”的完整攻略: 1. ArrayList简介 在Java中,ArrayList是非常常用的一种数据结构。它是一个基于数组实现的动态大小的集合类,能够保存任意类型的元素,而且数组的大小可以动态增长或缩小。 2. 动态扩容的原理 ArrayList的大小在创建的时候是固定的,但是当添加元素的个数超过了Array…

    Java 2023年5月26日
    00
  • 详解SpringMVC的类型转换及验证方法

    详解SpringMVC的类型转换及验证方法 SpringMVC是一个非常流行的Java Web框架,它提供了许多有用的功能,包括类型转换和验证。在本文中,我们将详细介绍SpringMVC的类型转换和验证方法,并提供一些示例来说明这些方法的使用。 类型转换 在SpringMVC中,我们可以使用类型转换器将请求参数转换为Java对象。SpringMVC提供了许多…

    Java 2023年5月17日
    00
  • java在原字符中插入新字符或字符串实例

    要在Java中在原字符/字符串中插入新字符或字符串实例,您可以使用StringBuffer或StringBuilder类中的insert()方法。 这两个类都用于对字符串进行操作,而StringBuffer类是线程安全的,因此建议在多线程环境下使用(如果不考虑线程安全问题,建议使用StringBuilder类)。 下面是完整的攻略: 创建一个StringBu…

    Java 2023年5月26日
    00
  • Java咖啡馆(1)——叹咖啡

    Java咖啡馆(1)——叹咖啡 背景知识 在开始讲解攻略之前,我们需要了解以下几个概念: 咖啡豆:生咖啡豆是从咖啡树上采摘下来后,去掉果皮、果肉、果皮下有如薄膜一般的白色粘液,取得的咖啡豆。 磨豆器:将咖啡豆磨成不同的颗粒度,适合不同的冲泡方式和口感需要,常见的有手动和电动两种。 滴漏壶:是用来冲泡手工滴滤咖啡的器具,分为玻璃、不锈钢和陶瓷材质。 滴漏咖啡:…

    Java 2023年5月20日
    00
  • spring中IOC控制反转依赖注入和new对象的区别说明

    下面是关于“spring中IOC控制反转依赖注入和new对象的区别说明”的完整攻略。 控制反转(IoC) 控制反转,即IoC(Inversion of Control),是一种将程序的控制权从调用者转移至被调用者的设计模式。在传统的编程模式中,客户端程序通常需要直接创建和管理对象,并通过其接口调用其方法来完成所需的业务逻辑。而在IoC模式中,对象的创建和管理…

    Java 2023年5月26日
    00
  • SpringBoot多环境开发该如何配置

    Spring Boot 多环境开发配置攻略 在本文中,我们将详细讲解 Spring Boot 多环境开发配置的完整攻略。我们将使用 Spring Boot 2.5.0 版本的源码进行分析。 步骤一:创建多个配置文件 在 Spring Boot 中,我们可以为不同的环境创建不同的配置文件。例如,我们可以为开发环境创建一个名为 application-dev.p…

    Java 2023年5月15日
    00
  • java文件的简单读写操作方法实例分析

    Java文件的简单读写操作方法实例分析 在 Java 程序开发中,我们经常需要对文件进行读写操作。本篇攻略将详细介绍 Java 文件读写的方法以及相关注意事项。 文件读取操作 在 Java 中,我们可以使用 FileInputStream 和 BufferedInputStream 类来读取文件。 FileInputStream import java.io…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部