1. 首页 > 手机 >

java replace函数_java的replaceall

java中的replace函数如何使用?

replace(要替换的目标,替换后新值);\x0d\x0a如:\x0d\x0avar obj="weclome to my blog!";\x0d\x0avar newobj=obj.replace("my","our");\x0d\x0aalert(newobj);\x0d\x0a输出的值为:weclome to our blog!

java replace函数_java的replacealljava replace函数_java的replaceall


java中replace和replaceAll的区别

1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);

2)replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("\\d", "")把一个字符串所有的数字字符都换成星号;

相同点是都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串,如果只想替换第一次出现的,可以使用 replaceFirst(),这个方法也是基于规则表达式的替换,但与replaceAll()不同的是,只替换第一次出现的字符串;

另外,如果replaceAll()和replaceFirst()所用的参数据不是基于规则表达式的,则与replace()替换字符串的效果是一样的,即这两者也支持字符串的操作;

java中string的replace和replace的区别 乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),replaceall替换所有的字符,其实大不然,只是替换的用途不一样,简而言之,replace用新串序列替换旧串序列,而replaceall是

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

1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);

2)replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("\\d", "")把一个字符串所有的数字字符都换成星号;

前者参数是字符串,后者参数是正则表达式

~

java replace 正则表达式

如果没有其他括号,直接replaceAll("new Date(",""); replaceAll(")","")就ok了;

如果要考虑有其他括号的话,判断

Matcher m = "new Date\\(\"\\d\"\\)").matcher(str);

while(m.find()){

int s = m.start();

int e = m.end();

//获取到了所在首尾位置在对这段字符串进行处理就行了

}这样就OK了~~

srcString.replaceAll("[\s()]","_");

\s表示一个空白符;

[\s()]表示 空格 左括号 或者 右括号中出现其中任何一个

replaceAll("[\s()]","_"); 即表示用_替代字符串中出现的空格符、左括号、右括号。

请采纳答案,支持我一下。

replaceAll("new Date\\((.?)\\)", "$1");

如果你是上面的数据无需正则直接replace就完了撒

replace("new Date\(","");

replace("\)","");

java replace方法

replace() 方法通过用 newChar 字符替换字符串中出现的所有 oldChar 字符,并返回替换后的新字符串。

语法:

public String replace(char oldChar, char newChar)

参数解释:

oldChar -- 原字符;newChar -- 新字符。

java中 replace函数后面有三个参数,是什么作用,什么返回值

你说的这个函数是哪个对象的啊, replace这个方法很多对象都有.

我给你说一个最常见的吧, String类的replace方法, 第一个参数是要修改的字符串,第二个参数是要替换的字符串,第三个参数是替换成什么样的字符串.

replace("123456","12","00");

返回"003456"

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

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

返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 而生成的。 如 果 oldChar 在此 String 对象表示的字符序列中没有出现,则返回对此 String 对象的引用。否则,创建一个新的 String 对象,用来表示与此 String 对象表示的字符序列相等的字符序列,除了每个出现的 oldChar 都被一个 newChar 替换之外。

public String replaceAll(String regex,String replacement)使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的每个子字符串。此方法调用的 str.replaceAll(regex, repl) 形式产生与以下表达式完全相同的结果:参数:

regex - 用来匹配此字符串的正则表达式

返回:得到的 String

抛出: PatternSyntaxException - 如果正则表达式的语法无效。 如果我有以下的字符串:

String x= "[kllkklk\\kk\\kllkk]";

要将里面的“kk”替换为++,可以使用两种方法得到相同的结果

replace(CharSequencetarget, CharSequencereplacement) ——x.replace("kk", "++")

replaceAll(Stringregex, Stringreplacement) ——x.replaceAll("kk", "++")可见两个函数在处理上述字符串的时候没有什么区别,

下面将字符串中的“\\”替换为“++”

System.out.println(x.replace("\\","++")); //没有问题

System.out.println(x.replaceAll("\\","++")); //报错java.util.regex.PatternSyntaxException

可见,当使用转义字符进行替换的时候,是有区别的。

replaceAll的参数就是regex,是正则表达式。首先会转义,所以报错。

如果使用System.out.println(x.replaceAll("\\\\","++"));即可完成。

那么在使用普通的字符串替换时,选用哪一个函数呢?

String x= "[kllkklk\\kk\\kllkk]";

String tmp;

//System.out.println(x.replace("[", "#").replace("]","#"));

System.out.println(new Date().getTime());

for(int i =0;i<1000000;i++)

tmp=x.replace("kk", "--");

System.out.println(new Date().getTime());

for(int i =0;i<1000000;i++)

tmp=x.replaceAll("kk", "++");

System.out.println(new Date().getTime());测试结果:

1312424571937

1312424574531

1312424576671

根据测试replaceAll函数要更快一些。看源码发现,replace函数里面仍使用replaceAll函数。

总体原则:

当字符串无法确定是否具有转义字符时,而且也不需要转义时,建议使用replace函数

否则,使用replaceAll函数

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 12345678@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息