String.replaceALL用法。

strings.ReplaceAll 使用详解 核心价值:全量替换的最简洁写法;局限性:功能与 Replace 完全相同,仅 API 更友好;ReplaceAll返回字符串s的副本,其中所有不重叠的old实例替换为new。如果old为空,它匹配字符串的开头和每个UTF-8序列之后,为k-rune字符串产生最多k+1个替换。 阅读详情

public class TryDotRegEx {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str = "111.3.22.11";
str=str.replaceAll("(^|//.)(//d)(//.|$)","$100$2$3");
str=str.replaceAll("(^|//.)(//d{2})(//.|$)","$10$2$3");
str=str.replaceAll("(^|//.)(//d{2})(//.|$)","$10$2$3");
str=str.replaceAll("(^|//.)(//d{1})(//.|$)","$100$2$3");
        
System.out.println(str);
}

}

打印结果:111,003,022,011;


正则表达式,关于String.replaceALL(..)

 

 

正则表达式,关于String.replaceALL(..) 
2005-3-25 15:03:55 
regex:

class t1 {
       public static void main(String a[]) {
         String s = 'E://jbx//x9//io9';
         String ss;
//把路径s中的'/'换为'//',为何还要整8个'/'?我以为4个就行了。
         ss = s.replaceAll('////', '////////         System.out.println('s= ' + s);
         System.out.println('ss=' + ss);
//output:  
//s= E:/jbx/x9/io9
//ss=E://jbx//x9//io9
       }
}

这 里的关键是String.replaceAll()是用regular expression 来作为参数的。但是java本身的字符串对于转义符/也有类似的处理。首先,java会把“////”解释成一个字符串(其中包含两个char)——“/ /”这个就是你在JDK的文档里看到的。 
接下来,由于replaceAll是以正则表达式作为参数,所以“//”被解释成一个regex。对于一个regex来说这就代表着一个字符,就是“/”。对后面的那个8个/来说,最终会被解释成“//”。

换言之,假设String.replaceAll()是以普通字符串,而不是regex作为参数,那么这样写代码: String target = source.replaceAll('//', '////'); 就可以了。

===============================
在replaceAll(String,String)方法中需要特殊处理英文状态的括号,在网上找了一下,可以使用下面的写法将英文括号替换成其他字符(比如中文全角括号):str1.replaceAll("//(","(");

========================

Java String replaceAll and regex
在java中要将一个字符串的中$符号去除。我是这样写的:
String tmp = "-$125402.00";
tmp.replaceAll("$","");
可是执行去来的结果并没有把$去除。后来找资料才发现要这样写
tmp.replaceAll(" //$","")才可以。
String replaceAll(String regex, String replacement)中的两个参数都是regex。尤其是当第二个参数replacement是用户输入或指定的字符串时,如果其中包含regex特 殊字符(主要是/和$)而不加注意,就容易导致问题引发异常。这种情况下如果只是简单的字符串替换而无需regex引擎参与的话,就不要用 replaceAll好了。JDK1.5中加入了String replace(CharSequence target, CharSequence replacement),可以用它。JDK1.4或以下,自己搞一个好了,如oldReplace: http://www.javapractices.com/Topic80.cjp
    

我在写程序的时候,需要将"/"字符写入一个文本文件,开始以为这不是个什么问题,转换一下就好了嘛,代码如下:

targetPath = targetPath.replaceAll("//", "////");
fileOperate.createFile(fileName, targetPath);

 

原以为没有问题,这样就可以先在读入的字符串中把"/"转换为"//",然后在写入文本文件时就会写成"/",没想到,报如下错误:

java.util.regex.PatternSyntaxException: Unexpected internal error near index 1
/

回来查了资料才发现,java的replaceAll函数,使用的是正则表达式作为转换依据,而"/"在正则表达式中也是特殊字符,最后,写成下面的代码才达到了我预想的目的:

targetPath = targetPath.replaceAll("////", "////////");
fileOperate.createFile(fileName, targetPath);

 

=====================================

replace和replaceAll方法的区别:

主要就是后者是基于规则表达多的替换,而前者是一般的基于字符或字符序列本身的替换。

比如,可以通过replaceAll("//d", "*")把一个字符串所有的数字字符都换成星号,replace就做不到,因为它不是基于规则表达多的替换。

替换字符串的三种方法:replace、replaceAll、replaceFirst 由于今天写项目刚用到过,于是就想把这个易错点给记录下来,毕竟我是查了资料才敢笃行到底是该用replace还是replaceAll; 这两者还是很容易搞混,因此我在这里详细讲述下。 java API 1、replace replace(char oldChar, char newChar) ||replace(CharSequence , CharSequence ) 解释:... 阅读详情

相关推荐

Java String replaceAll】详解与示例:替换字符串中的特定内容

本文详细介绍了Java中的replaceAll()方法的使用方法,并通过示例代码演示了其在不同场景下的应用。通过掌握replaceAll()方法,开发人员可以轻松地替换字符串中的特定内容,实现各种字符串处理操作。其中,替换字符串中的特定内容是一项常见的操作。replaceAll()方法是Java String类的一个重要方法,用于将一个字符串中符合指定正则表达式的内容替换为新的字符串。其中,regex是用于匹配要替换的内容的正则表达式,而replacement是替换后的新字符串。

CyberSparkZ的博客 1111

string的replaceAll()

String s = "我.爱.中.国"; 将字符串s中的“.”使用空格替换掉, 如果s.replaceAll(".","");会将整个字符串替换成空字符串 原因则是replaceAll函数的两个参数replaceAll(regex, replacement) 第一个参数regex代表在该字符串中通过正则表达式查找符合添加的子字符串并使用第二个参数replacement替换掉, 而在正则...

qq_40739049的博客 5万+

自动驾驶仿真:基于Carsim开发的加速度请求模型

1、自动驾驶行业中,算法端对于纵向控制的功能预留接口基本都是加速度,我们需要给控制器仿真加速度的信号,控制器才会实现对纵向功能的控制。2、Carsim或者其他动力学软件,主要提供者节气门开度和主缸压力进行控制。我们在进行联合仿真时,往往都要通过PID的方式将请求加速度转换成对应的节气门开度与主缸压力传给动力学软件进行闭环控制。

zataji的博客 6916

String 方法中 replace 和 replaceAll 的区别详解(源码分析)

eplaceAll() 和 replaceFirst() 所用的替换参数可以是普通字符串,也可以是正则表达式

Java Punk 6万+

用Raspberry Pi Imager重装树莓派系统

这次在官网无意中看到他们出了一个Raspberry Pi Imager的工具,可以直接完成镜像烧录操作,于是就尝了个鲜。选择“编辑设置”按钮,会弹出具体的设置信息,有三个tab,第一个是General信息,包括用户名、密码、wifi和语言设置;后续的操作就和我当初第一次装树莓派系统的操作差不多,在此就不再赘述,有兴趣的朋友可以看我以前的博文。完成定制化设置后,点击“保存”按钮,软件回到前面的提示框,连续点击两个“是”,开始写入SD。第二个下拉框选择你要安装的OS,点击黄框所在的选项,可以挑选更多OS。

天飓的技术博客 1085

S32DS IDE调试技巧:如何用Attach功能高效定位汽车电子MCU的Bootloader问题

本文详细介绍了在汽车电子MCU开发中,如何利用S32DS IDE的Attach调试模式高效定位Bootloader与应用程序的协同问题。通过对比常规调试与Attach模式的本质差异,并深入讲解工程配置、镜像合并及实战调试流程,帮助开发者在不复位、不重新下载程序的前提下,实时分析系统状态,快速解决内存映射冲突、中断向量表重定向等疑难杂症。

weixin_29168393的博客 269

JAVA中string.replace()和string.replaceAll()的区别及用法 数据库中[]转义

JAVA中string.replace()和string.replaceAll()的区别及用法 乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),replaceall替换所有的字符,其实大不然,只是替换的用途不一样。     请发邮件到freeget.one@gmail.com获得翻强软件。 public String replace

博艺的技术专栏 1万+

IBM System x3650 M5 IMM配置

1、IMM基本介绍 IMM,全称是Intel Mobile Module是IBM服务器上的集成管理模块,该模块是独立于服务器系统,可以通过一个单独的IP地址,使用Web和虚拟端口方式直接启动、停止和管理远程服务器,即使主板、处理器或者内存故障导致主机无法启动,也依然可以远程管理服务器,可以远程直接操作启动画面和服务器工作界面。 2、IP地址配置 2.1 通过Web方式修改IP地址 IBM服...

血饮渊虹的博客 4万+

java replaceall()的用法_Java String replaceAll() 使用方法及示例

Java String replaceAll() 使用方法及示例Java String replaceAll()方法用指定的文本替换与字符串的正则表达式匹配的每个子字符串。replaceAll()方法的语法为:string.replaceAll(Stringregex,Stringreplacement)replaceAll()参数replaceAll()方法有两个参数。regex - 要替...

weixin_39685762的博客 2万+

【AI智能体】QClaw 对接GitHub处理自动化任务实战操作详解

QClaw 对接GitHub处理自动化任务实战操作详解

congge 4870

高通平台 Android T 蓝牙技术全解析:A2DP 与 AVRCP 核心代码路径与交互流程

A2DP 接收端 - 连接流程(AVDTP 打开)

专业开发者的博客,一个从事Android WiFi和蓝牙的工程师 290

JAVA中string.replace()和string.replaceAll()的区别及用法

转载自:http://hi.baidu.com/youxiandeboshi/item/f4f74ea84d44be736cd4559a JAVA中string.replace()和string.replaceAll()的区别及用法 乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),replaceall替换所有的字符,其实大不然,只是替换的用途不一样。

客亦知夫水与月乎? 1113

位置点位到达判断FC(Easy+Codesys+博途平台)

IN rActPositon REAL 轴当前实际位置 1IN arAbsPosition REAL[10] 各工作点位坐标 2IN rDeadZone REAL 位置达到判断域值 范围 3OUT abInAbsPos BOOL[10] 到达各绝对定位点位标志 位置到达输出 4VAR i INT 循环计数 5VAR rErr REAL 位置偏差 6。

RXXW_Dor的博客 537

JAVA String.replaceAll用法

正则表达式,关于String.replaceALL(..) class t1 { public static void main(String a[]) { String s = 'E:\\jbx\\x9\\io9'; String ss; //把路径s中的'\'换为'\\',为何还要整8个'\'?我以为4个就行了。 ss = s.replaceAll('\\\\', '\\\\\\\\

muhuitao的博客 488

C#实现低通和高通滤波算法

低通滤波器允许通过低于某个截止频率的信号成分,并且抑制高于该频率的成分。而高通滤波器则允许通过高于某个截止频率的信号成分,并抑制低于该频率的成分。巴特沃斯滤波器是一种对称的滤波器,具有平坦的幅度响应和最小的群延迟。低通和高通滤波是数字信号处理中常用的滤波技术,用于滤除或增强信号中的特定频率成分。在本篇文章中,我们将使用C#编程语言来实现低通和高通滤波算法。以上就是使用C#实现低通和高通滤波算法的示例代码。你可以根据自己的需求调整截止频率和采样率,将这些代码应用于你的项目中。是滤波器的截止频率,

XisVisual_Basic的博客 1275

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

java中replaceall用法_Java中String的ReplaceAll使用小结

一、String使用ReplaceAll()后,把结果再赋给本身: javapublic static boolean inDateField(S2s bean1, Flag bean2) {String formDate = bean1.getForm_date();if (bean2 == null) {return false;}String startDate = bean2.getSta...

weixin_28813025的博客 1055

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

java replaceall函数_JAVA中string.replace和string.replaceAll的区别及用法

展开全部JAVA中string.replace()和string.replaceAll()的区别及用法乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),32313133353236313431303231363533e59b9ee7ad9431333361313836replaceall替换所有的字符,其实大不然,只是替换的用途不一样。public Str...

weixin_36190719的博客 294

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

String的replaceAll()用法详解

使用replaceAll实现字符串替换,即把字符串某些字符全部替换成别的 // 将str中的所有数字替换为“数字”二字 String str = "abc123bcd45ef6g7890"; str = str.repla...

weixin_30239339的博客 703

JAVA中string.replace和string.replaceAll的区别及用法

JAVA中string.replace和string.replaceAll的区别及用法  分享| 2014-12-31 12:07罡蝴蝶 | 浏览 2634 次  java 2014-12-31 13:02 提问者采纳 1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSeque

evilcry2012的专栏 475

Java String replace() 和 replaceAll()的用法

因为之前都是用用简单的replace(),今天碰到了replaceAll(),所以记下来。replace(String str1,String str2) 的用法很简单: str2代替str1即可public String replaceAll(String regex, String replacement):第一个参数是正则表达式 第二个是要替换的字符直接上代码:/** * 将2016-08

twx843571091的博客 9980

【Java】String.replaceAll(String, String) 用法 正则替换

replaceAll 是正则替换,它的第二个参数可以使用 $ 代表正则匹配组

懒怠的小猫 7194

string.replace java_JAVA中string.replace和string.replaceAll的区别及用法

展开全部区别主要就是replaceAll是基于规则表达多的替e68a84e8a2ad62616964757a686964616f31333339653664换,而replace是一般的基于字符或字符序列本身的替换。Java String.replace()方法返回一个新的字符串,用newChar替换此字符串中出现的所有oldChar以下是java.lang.String.replace()方法的声...

weixin_42510835的博客 308

Java中String的replace、replaceAll和replaceFirst函数的用法小结 原

https://my.oschina.net/blueyuquan/blog/1594612 先来一道最近做的题: String a = "Hello"; 则执行a.replace("e","f")后a的内容为"Hfllo"。 请问上题的答案对吗?答案见文末。 反正我是做错了!然后才有了这篇文章!!引以为戒! replace、replaceAll和replaceFirst是JAV...

hery186的专栏 1万+

java.lang.String中的replaceAll用法

String经常被用到,而常常会使用部分替换。jdk的版本不同使用选择也不同。jdk1.5就直接使用String.replae(oldstr,newstr);而1.4版本比较麻烦。要使用replaceAll。它的灵活性非常大,可以使用正则表达式。但对于替换的字符串中的特殊字符要注意。 “\”------“\\\\” “(”------“\\(” “$”------“\\...

weixin_34160277的博客 269

【转载】【JAVA原理系列】Java String类中的三个替换方法replaceFirst、replaceAll和replace原理用法示例源码详解

例如,在字符串 “Hello World” 中,将所有字母 “l” 替换为大写字母 “L”,结果为 “HeLLo WorLd”。replaceAll() 方法的原理与 replaceFirst() 类似,也是通过编译给定的正则表达式,创建一个匹配器对象,将其应用于目标字符串,并使用给定的替换字符串替换所有匹配的子字符串。replaceFirst() 方法的原理是通过编译给定的正则表达式,然后使用编译后的模式创建一个匹配器对象,将该匹配器应用于目标字符串,并使用给定的替换字符串替换第一个匹配的子字符串。

yang1276的博客 750
上一篇: 解决Eclipse中用tomcat调试时出现的运行提示OutOfMemory
下一篇: CSS兼容IE6,IE7,FIREFOX的一些收集
pcno1
博客等级 码龄22年 18粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值