replaceall(replaceall方法 js)

http://www.itjxue.com  2023-01-26 17:09  来源:未知  点击次数: 

jquery中replaceall和replacewith的区别

replaceWith() 与replaceAll() 方法都可以实现元素节点的替换,二者最大的区别在于替换字符的顺序,前者是用括号中的字符替换所选择的元素,后者是用字符串替换括号中所选择的元素。同时,一旦完成替换,被替换元素中的全部事件都将消失。

String 类中replace 和replaceAll方法的区别

一、参数不同

replace的参数是char和CharSequence,既可以支持字符的替换,也支持字符串的替换。

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

二、替换结果不同

replace只替换第一个出现的字符(受javascript的影响),replaceall替换所有的字符,简而言之,replace用新串序列替换旧串序列,而replaceall是用新串替换与前面正则表达式相匹配的位置的字符串。

三、用法不同

replaceAll支持正则表达式,replace不支持。

例如:

字符串中多个空格转成一个空格。

public class TestString

{

public static void main(String[] args)

{

String s = "? ? ? ? ? ? ? ";

System.out.println("a" + s.replaceAll(" +", " ") + "b");

System.out.println("a" + s.replace(" +", " ") + "b");

}

}

java中String的replaceAll方法

字符组中“\”是有转义的含义的,就跟你replaceAll中使用多个"\"是为了转义一样。

你定义var1时,java是认为"dfas\'f"中的"\"是转义字符,转义"'"(最后还是"'")。所以var1和var2其实是一样的。这也是为什么你replaceAll后的结果也是一样的。

public?class?Test?{

????public?static?void?main(String[]?args)?{

????????String?var1?=?"dfas\'f";

????????String?var2?=?"dfas'f";

????????System.out.println(var1);?//?结果是?dfas'f

????????System.out.println(var1.equals(var2));?//?结果是?true

????}

}

replace和replaceAll的区别

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.

jsp中url中的.replaceAll("\\+", "%20")中的“\\+”是什么意思?

正则表达式先把第一个'\'当作转义字符,得到"\+"

Java字符串又把"\+"中的'\'当作转义字符,得到'+'

所以这条语句是把字符串中所有的'+'替换成'%20',在URL中%20代表空格

比如在网页输入框中输入了abcd+efg,提交表单的时候将其替换为abcd%20efg

(责任编辑:IT教学网)

更多

推荐微信营销文章