replace和replaceAll区别

2023-11-11

1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串); 
2)replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("\\d", "*")把一个字符串所有的数字字符都换成星号; 


    相同点是都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串,如果只想替换第一次出现的,可以使用 replaceFirst(),这个方法也是基于规则表达式的替换,但与replaceAll()不同的是,只替换第一次出现的字符串; 
    另外,如果replaceAll()和replaceFirst()所用的参数据不是基于规则表达式的,则与replace()替换字符串的效果是一样的,即这两者也支持字符串的操作; 
    还有一点注意:执行了替换操作后,源字符串的内容是没有发生改变的. 


举例如下: 
        
        String src = new String("ab43a2c43d"); 


        System.out.println(src.replace("3","f"));=>ab4f2c4fd. 
        System.out.println(src.replace('3','f'));=>ab4f2c4fd. 
        System.out.println(src.replaceAll("\\d","f"));=>abffafcffd. 
        System.out.println(src.replaceAll("a","f"));=>fb43fc23d. 
        System.out.println(src.replaceFirst("\\d,"f"));=>abf32c43d 
        System.out.println(src.replaceFirst("4","h"));=>abh32c43d. 




如何将字符串中的"\"替换成"\\": 


        String msgIn; 
        String msgOut; 
        msgOut=msgIn.replaceAll("\\\\","\\\\\\\\"); 
原因: 
         '\'在java中是一个转义字符,所以需要用两个代表一个。例如System.out.println( "\\" ) ;只打印出一个"\"。但是'\'也是正则表达式中的转义字符(replaceAll 的参数就是正则表达式),需要用两个代表一个。所以:\\\\被java转换成\\,\\又被正则表达式转换成\。 
同样 
        CODE: \\\\\\\\ 
        Java: \\\\ 
        Regex: \\ 




将字符串中的'/'替换成'\'的几种方式: 


msgOut= msgIn.replaceAll("/", "\\\\"); 
         msgOut= msgIn.replace("/", "\\"); 
         msgOut= msgIn.replace('/', '\\');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

replace和replaceAll区别 的相关文章

随机推荐

  • 此URL不支持Http方法GET解决方案

    一 问题 问题代码如下 WebServlet demo3 public class ServletDemo3 extends HttpServlet Override protected void doGet HttpServletRequ
  • insert()方法

    insert 方法 描述 列表 insert 方法将指定对象插入到列表中的指定位置 语法 insert 方法语法 L insert index obj 参数 index 对象obj需要插入的索引值 obj 要插入列表中的对象 返回值 该方法
  • 将Minio获取到的图片直接在页面上预览

    在Minio中获取的文件返回的是二进制流 要想在浏览器页面直接预览就得把获取的二进制流 InputStream 转换成文件流 FileInputStream 具体实现代码如下 public byte getImage PathVariabl
  • 大意了~checksum 到的低级问题

    发送的数据需要在尾端做累加取反 但没有留意到最后一个字节 累加取反值 不用参与累加 因此累加值总是不对 浪费了好多时间
  • php导出excel 下载,excel的导出和下载(实例讲解)

    1 前言 有时需要将数据库表资源导出excel 做成一些报表数据 而php导出excel的方法大致有几种 1 使用php的类库 进行导出 如PHPExcel 2 使用php原生的方法进行导出 而本文介绍的就是 如何通过原生方法导出excel
  • pandas筛选、修改并实现分类

    虽然学pandas有段时间了 但是真正应用的场合其实很少 大多数功能用excel就已经足够 最近发现wps表格某些功能比 excel还好用 比如筛选重复身份证 wps表格就做得比excel2016要好 最近发现了一个比较麻烦的问题 表格内容
  • JAVA中的术语:句柄是啥意思

    句柄的本质 一个唯一的整数 作为对象的身份id 区分不同的对象 和同类中的不同实例 程序可以通过句柄访问对象的部分信息 句柄不代表对象的内存地址 句柄和指针的区别 程序不能通过句柄直接阅读文件中的信息 指针是可以的 从所起的作用这点来说 句
  • 【项目实战】C语言+easyX带你实现:数字拼图游戏!来试试吧~

    每天一个编程小项目 提升你的编程能力 这是一个简易的拼图游戏 一共有 15 个数字方块 将其一行行的排列为 1 15 即可完成 游戏会记录下完成拼图的时间 我想说的是 很多时候 精彩的游戏不一定非要用图片 将游戏的功能和手感都做好 游戏一样
  • 卫星通信系统概述

    卫星通信系统指通过在轨人造卫星作为中继站对无线电信号进行转发 实现地面及空间等用户之间信息传输的系统 卫星通信系统组成包括空间段及地面段 系统组成如图所示 其中空间段主要指在轨卫星 对在轨卫星进行操控的地面站 这些地面站主要实现跟踪 遥测
  • 《QDebug 2023年8月》

    一 Qt Widgets 问题交流 1 获取 QWidget 当前所在屏幕区域 本来以为 QWidget 的 screen 接口返回的是组件自己所在屏幕的 QSreen 实测是所属 Window 所在的屏幕 如果 Window 跨屏了两者所
  • Android 内存分析工具

    Dalvik 虚拟机支持垃圾收集 但是这不意味着你可以不用关心内存管理 你应该格外注意移动设备的内存使用 手机和平板的内存空间是受到限制的 在这篇文章里面 我们来看看Android SDK里面的一些内存剖析工具 profiling tool
  • Windows11安装Vim编辑器配置指南

    Vim简介 Vim 是一个高度可配置的文本编辑器 旨在让创建和更改任何类型的文本变得非常高效 大多数 UNIX 系统和 Apple OS X 都将它作为 vi 包含在内 用惯了Linux中的Vim编辑器 如果需在Windows的cmd终端中
  • form表单的单输入框回车出现同步提交事件处理

    问题 form表单中如果只有一个输入框 在输入时按Enter回车键会出发默认事件自动提交表单 该交互是同步发生的 会导致页面刷新 解决思路 有三种解决思路 1 增加input输入框的数量 如果form表单中不止一个input输入框 那么该表
  • 基于Python的餐厅点餐系统-订餐食堂预约Python爬虫安装数据分析与可视化计算机毕业设计

    更多项目资源 最下方联系我们 目录 一 项目技术介绍 二 项目配套文档 部分内容 资料获取 一 项目技术介绍 该项目含有源码 文档 PPT 配套开发软件 软件安装教程 项目发布教程 包运行成功以及课程答疑与微信售后交流群 送查重系统不限次数
  • 《管理的套路》图解(二)

    13 Iceburg冰山模型 备注 在组织行为学中 冰山模型从三个层面来描述一个人 A态度 深层 B行为 表层 C能力 中间层 14 Burke Litwin组织变革模型 备注 除了考虑外部环境因素 组织和个人绩效因素以及沟通反馈外 还要考
  • 【python】【kNN】【OCR】用python实现字符识别

    一 问题 OCR 光学字符识别 是机器学习重要的应用之一 一般要经过二值化 去噪 倾斜校正 特征抽取 字符切割 字符识别 后处理等过程 其中难度最大的是字符切割 最关键的步骤是字符识别 一般进行字符识别的方法有kNN SVM CNN等方式
  • NUMA模式

    NUMA模式 补充经常听师兄们提到一个词NUMA模式 NUMA架构产生的背景 早期的计算机中 内存控制器在北桥中 所有CPU对内存的访问都要通过北桥来完成 此时所有CPU访问内存都是 一致的 如下图所示 这样的架构称为UMA Uniform
  • GPT3.5插件免费使用方法(无须科学上网)

    1 下载并安装微软Edge浏览器 2 在浏览器输入 edge extensions 或者在页面操作 3 在扩展页面搜索 webtab 插件 4 启用插件 在浏览器输入 edge extensions 回到扩展管理页面 随后会自动进入页面 选
  • 图的拓扑序列

    拓扑序列 拓扑序是按照点的先后顺序排列的 拓扑序列满足以下两点 1 每个顶点在序列中出现且只出现一次 2 若存在一条从顶点 A 到顶点 B 的路径 那么在序列中顶点 A 出现在顶点 B 的前面 拓扑序列只存在于有向无环图中 可以理解成一个将
  • replace和replaceAll区别

    1 replace的参数是char和CharSequence 即可以支持字符的替换 也支持字符串的替换 CharSequence即字符串序列的意思 说白了也就是字符串 2 replaceAll的参数是regex 即基于规则表达式的替换 比如