【JAVA】replace,replaceAll,replaceFirst

replace和replaceAll:

  • 1、相同点:

    • 替换所有匹配的字符串(都是替换所有)
  • 2、不同点:

    • replace支持字符替换,字符串替换
    • replaceAll是正则表达式替换

replaceFirst:

  • 同replaceAll一样,也是基于规则表达式的替换
  • 不同之处是:只替换第一次出现的字符串

对于正则表达式:

  • 如果replaceAll()和replaceFirst()所用的参数据不是基于规则表达式的,则与replace()替换字符串的效果是一样的
  • 即:这两者也支持字符串的操作,但是!! 在LeetCode中运行会报错!!!
  • 因此,一般写replace即可

END

原文地址:https://www.cnblogs.com/anliux/p/12262757.html

时间: 2024-10-05 07:05:47

【JAVA】replace,replaceAll,replaceFirst的相关文章

【JAVA】别特注意,POI中getLastRowNum() 和getLastCellNum()的区别

[JAVA]别特注意,POI中getLastRowNum() 和getLastCellNum()的区别 hssfSheet.getLastRowNum();//最后一行行标,比行数小1 hssfSheet.getRow(k).getLastCellNum();//获取列数,比最后一列列标大1

【JAVA】"骗人"的“replaceAll”

Java String类中有个方法叫:replaceAll,从表面上看,他的意思是把所有的regex替换成replacement. 1 public String replaceAll(String regex, String replacement) { 2 return Pattern.compile(regex).matcher(this).replaceAll(replacement); 3 } 但事实上,它并没有做到: 1 public static void main(String[

【转】【Java】利用反射技术,实现对类的私有方法、变量访问

java关于反射机制的包主要在java.lang.reflect中,structs,hibernate,spring等框架都是基于java的反射机制. 下面是一个关于利用java的反射机制,实现了对私有属性和私有方法的访问的简单例子,希望能对你有所帮助. import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.ArrayList; public class Person { private

【Java】导入项目时,出现The project cannot be built until build path errors are resolved错误解决方法

先检查jar包,jar包的地址如果不一样需要remove后重新导入的,右键项目→Build Path. 看额外的jar包有没有×,地址正不正确,要是不正确,remove错误jar包,再点击Add Extenal JARs 最后检查JDK的版本,当然是选自己电脑下载的版本了,点击环境的下拉菜单. 要是还有错误的话,我也没辙了,去看看别的教程吧. 原文地址:https://www.cnblogs.com/ByTwo/p/11760735.html

【java】用HashMap计数,用TreeSet排序

1 package com.tn.hashMap; 2 3 import java.util.HashMap; 4 import java.util.TreeSet; 5 6 public class HashMapDemo { 7 public static void main(String[] args){ 8 9 String str="eeeeaccbbddddffffff"; 10 HashMap<String,Integer> hashMap=new HashM

【Java】关于Java中参数传递方式与C++的比较

[写作原由] 今天刚刚刷了一道二叉树路径搜索的题(LeetCode 113 Path Sum II),在采用熟悉的C++解答之后,用Java语言再次撸了一遍,发现一些问题,特别是参数传递的问题: [C++] 在C/C++中,参数传递分为两种:值传递和地址传递,其中: 1.值传递:实际参数将值传递给形式参数,对形式参数进行操作不影响实际参数,如: int main() { int temp=100; printf("before:%d",temp); add1(temp); printf

【Java】代处理?代理模式 - 静态代理,动态代理

>不用代理 有时候,我希望在一些方法前后都打印一些日志,于是有了如下代码. 这是一个处理float类型加法的方法,我想在调用它前打印一下参数,调用后打印下计算结果.(至于为什么不直接用+号运算,见[Java]Float计算不准确) package com.nicchagil.study.java.demo.No09代理.No01不用代理; import java.math.BigDecimal; public class FloatCalculator { public float add(fl

【Java】无须额外的包,把Java中的内容输出到Excel中,无乱码,绝对兼容Excel2003与2007

Java输出一段文本到txt中大家基本都会了,这已经是学习Java的必修课了,不会也没有问题,具体可以看<[Java]输入与输出与JDK1.5之后的新型字符串StringBuilder>(点击打开链接).网上对于Java内容转化成Excel的内容大多数都是需要什么poi包,jsl包,一堆奇奇怪怪的jar插件.其实仅仅利用java.io.*;这个基本包就能够把Java中的内容输出到Excel表中,当然,如果你是要处理Mysql数据库不要这样做了,直接一条Mysql的查询命令就能把Mysql的查询

【Java】揭秘如何利用不等概率随机数制作十赌九骗的赌大小游戏,请不要沉迷各种游戏

上次在<[Java]在一定的范围内产生不同的随机数>(点击打开链接)中说明了如何产生随机数,然后还说了如何在一定的范围内产生不同的随机数,但是这些都是等概率产生随机的问题.等概率在正常情况下,更应该说是学术上是够用了,但是在现实生活中,尤其在现在游戏必须打黄赌毒的擦边球吸引人的大背景下,等概率产生随机数是远远不够用的.你作为游戏商家,说得难听点就是庄家,肯定要不等概率产生随机数来圈玩家的钱.比如,合成装备就你就不能让它合成成功是50%,合成不成功是50%,你必须把合成成功设置为1%甚至更小.这