首页 > 编程语言 >java中字符串替换的4种方法 replaceAll() 带正则表达式参数 str.replaceAll("[0-9]+", "");

java中字符串替换的4种方法 replaceAll() 带正则表达式参数 str.replaceAll("[0-9]+", "");

时间:2024-04-11 20:13:35浏览次数:33  
标签:java String 替换 replace replaceAll str 字符串 Hello

java中字符串替换的4种方法 replaceAll() 带正则表达式参数 str.replaceAll("[0-9]+", "");

目录

前言

一、String的replace()方法

二、String的replaceAll()方法

三、StringBuffer/StringBuilder的replace()方法

四、Matcher的replaceAll()方法

总结

前言

在日常开发中,我们对字符串的操作非常频繁,今天我总结了一下字符串替换常用的4种方式,这里再强调下字符串是不可变的,进行字符串替换后记得赋值。

一、String的replace()方法

使用String的replace()方法:该方法可以将字符串中的某个字符或字符串替换为另一个字符或字符串。例如:

  1. String str = "Hello World";
  2. String newStr = str.replace("World", "Java");
  3. System.out.println(newStr); // 输出:Hello Java

二、String的replaceAll()方法

使用String的replaceAll()方法:该方法可以使用正则表达式来匹配需要替换的字符串,并将其替换为指定的字符串。例如:

  1. String str = "Hello 123 World";
  2. String newStr = str.replaceAll("[0-9]+", ""); // 移除所有数字
  3. System.out.println(newStr); // 输出:Hello World

三、StringBuffer/StringBuilder的replace()方法

使用StringBuffer或StringBuilder的replace()方法:这两个类都提供了replace()方法来替换字符串中的某个字符或字符串。区别在于StringBuffer是线程安全的,而StringBuilder是非线程安全的。例如:

  1. StringBuffer sb = new StringBuffer("Hello World");
  2. sb.replace(6, 11, "Java"); // 将索引6到11的部分替换为"Java"
  3. System.out.println(sb.toString()); // 输出:Hello Java
  4. StringBuilder sb = new StringBuilder("Hello World");
  5. sb.replace(6, 11, "Java"); // 将索引6到11的部分替换为"Java"
  6. System.out.println(sb.toString()); // 输出:Hello Java

四、Matcher的replaceAll()方法

使用正则表达式和Matcher类进行替换:使用Pattern和Matcher类来匹配需要替换的字符串,并使用Matcher的replaceAll()方法进行替换。例如:

  1. String str = "Hello 123 World";
  2. Pattern pattern = Pattern.compile("[0-9]+");
  3. Matcher matcher = pattern.matcher(str);
  4. String newStr = matcher.replaceAll(""); // 移除所有数字
  5. System.out.println(newStr); // 输出:Hello World

总结

本文归纳总结了几种常见的Java字符串替换方法,根据具体需求选择适合的方法即可。

原文链接:https://blog.csdn.net/sky2019116/article/details/135972589

标签:java,String,替换,replace,replaceAll,str,字符串,Hello
From: https://www.cnblogs.com/sunny3158/p/18129949

相关文章

  • Java创建数组、赋值的四种方式,声明+创建+初始化 详解
    Java创建数组、赋值的四种方式,声明+创建+初始化详解@目录一、创建数组的四种方式二、详解三、数组存储的弊端一、创建数组的四种方式以int数据类型为例@TestpublicvoidtestNewArray(){//创建数组//法一int[]arr1=newint[]{1,2,3,4,5};System.ou......
  • Java中Array.sort()的几种用法简明教程 (需要初始化要排序的对象)对 一个数组的所有元素
    Java中Array.sort()的几种用法简明教程(需要初始化要排序的对象)对一个数组的所有元素进行排序,并且是按从小到大的顺序Java中Array.sort()的几种用法简明教程(需要初始化要排序的对象)======================================================1、Arrays.sort(int[]a)......
  • java中工具类检测ip和端口能否正常连接
    话不多说,直接上干货...publicclassNetUtils{privatestaticfinalLoggerlog=LoggerFactory.getLogger(NetUtils.class);/***特别注意:ping不通,并不代表telnet或者socket就不能正常连接*原因:协议不同*-ping是基于ICMP协议,ping......
  • UJCMS 9.1.0 发布,国内开源 java cms
    许可协议从GPL-2改为Apache-2.0,更宽松的协议,方便用户将系统集成到自身的应用中。修复了已知bug,系统更加稳定。升级日志(9.1.0)修复前台全文搜索没有结果web.xmlsession过期时间从30分钟改成25分钟,部分漏洞扫描软件会将session过期时间大于等于30分钟判定为漏洞修复文章管理一......
  • Java开头(开发环境配置及IDE的安装)
    Java安装开发环境卸载JDK删除Java的安装目录删除环境变量JAVA_HOME删除path下关于Java的目录检验(cmd中),输入java-version安装JDKOralce官网下载并安装记住安装的路径配置环境变量(系统变量中新建变量JAVA_HOME,并设定变量值为java文件的根目录)配置path变量(添加%JAVA_......
  • java面向对象有哪些特征
    Java面向对象编程(OOP)的核心特征通常包括封装性、继承性、多态性和抽象性。具体如下:封装性:封装是指将对象的属性(数据)和行为(方法)绑定在一起,并对对象的实现细节进行隐藏,只暴露出必要的接口给外部使用。这样做的目的是为了保护对象的内部状态,防止外部随意访问和修改。继承性:继承允......
  • JAVA语言学习-Day8
    参考教学视频:秦疆GUI组件:窗口、弹框、面板、文本框、列表框、按钮、图片、监听事件、鼠标、键盘事件、破解工具1.简介Gui的核心:SwingAWT界面不美观需要jre环境2.AWTawt介绍:包含了很多的接口和类元素:窗口、按钮、文本框java.awt.*组件Componentbu......
  • java 复制文件
    java复制文件importjava.io.IOException;importjava.nio.file.Path;importjava.nio.file.Paths;importjava.nio.file.Files; PathsourcePath=Paths.get("/storage/emulated/0/Android/media/images/19/25.jpg");PathdestinationPath=Paths.get(&q......
  • 无监督多视角行人检测 Unsupervised Multi-view Pedestrian Detection
    无监督多视角行人检测UnsupervisedMulti-viewPedestrianDetection论文url:https://arxiv.org/abs/2305.12457论文简述该论文提出了一种名为UnsupervisedMulti-viewPedestrianDetection(UMPD)的新方法,旨在通过多视角视频监控数据准确地定位行人,而无需依赖于人工标注的视......
  • java时间格式化
    使用DateFormat写项目时,pojo写了@JsonFormat(pattern="yyyy-MM-ddHH:mm:ss",timezone="Asia/Shanghai")privateDatecreateTime;,数据库用的是datetime格式直接用mybatis从数据库拿出来时间输出得到:WedApr1000:00:00CST2024解决方案在写impl时,不直接把从数......