replaceall(replaceall方法 js)
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