当前位置:首页 » 编程语言 » replacealljava

replacealljava

发布时间: 2022-04-23 01:19:43

java中replaceAll的用法,不同的用法为什么会报错

StringBuilder 可以用repalce方法。

其实你这里都可以用这个方法,效果和repalceAll是一样的,代码如下:

packagemytest;
//replace替换匹配字符串
publicclasstest{
publicstaticvoidmain(String[]args){
Strings1="上海自来水来自海上";
System.out.println(s1.replace("自来水","*"));//将“自来水”三个字替换为“*”

StringBuilders2=newStringBuilder();
s2.append("大家好").append("这是苍井空").append("老师");
System.out.println(s2.replace("苍井空","井空"));

}
}

replaceAll方法比replace方法功能主要是多了可以用正则表达式来匹配字符串,你这里没有用正则,用replace方法就好,而且String 和 StringBuilder都有这个方法

Ⅱ java中,replaceAll方法中的问题

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

Pattern.compile(regex).matcher(str).replaceAll(repl)

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

replacAll要用正则表达式,所以[*]就可以,[*]表示*

Ⅲ java replaceall 怎么替换

replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是:
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.

如何将字符串中的"\"替换成"\\":

String msgIn;

String msgOut;

msgOut=msgIn.replaceAll("\\\\","\\\\\\\\");

原因:
'\'在java中是一个转义字符,所以需要用两个代表一个。例如System.out.println( "\\" ) ;只打印出一个"\"。但是'\'也是正则表达式中的转义字符(replaceAll 的参数就是正则表达式),需要用两个代表一个。所以:\\\\被java转换成\\,\\又被正则表达式转换成\。
同样
CODE: \\\\\\\\
Java: \\\\
Regex: \\
将字符串中的'/'替换成'\'的几种方式:

msgOut= msgIn.replaceAll("/", "\\\\");

msgOut= msgIn.replace("/", "\\");

msgOut= msgIn.replace('/', '\\');

通过实例区分了java中replace()和replaceAll()的不同点,希望本文对大家学习有所帮助

Ⅳ java replaceAll该怎么用

  1. API如下:

    publicStringreplaceAll(Stringregex, Stringreplacement)
    regex: 需要匹配替换的正则

    replacement: 将匹配的串替换为此字符串

  2. 根据API可知,一个String对象即可调用此API

    参考以下例子:

    String s = new String("I love programming so much!");

    System.out.println(s);//I love programming so much!

    s = s.replaceAll("m{1,}", "xxxx_xxxx");

    System.out.println(s);//I love progrxxxx_xxxxxxxx_xxxxaing so xxxx_xxxxuch!

  3. 那么 tmpString = tmpString.replaceAll("'", "\\'");

  4. 官方最新API地址docs.oracle.com/javase/8/docs/api/

Ⅳ Java中String类replace和replaceAll的区别

java中string的replace和replace的区别
乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),replaceall替换所有的字符,其实大不然,只是替换的用途不一样,简而言之,replace用新串序列替换旧串序列,而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) 形式产生与以下表达式完全相同的结果:
Pattern.compile(regex).matcher(str).replaceAll(repl)
参数:
regex – 用来匹配此字符串的正则表达式
返回:得到的 String
抛出: PatternSyntaxException – 如果正则表达式的语法无效。

实际应用:
public static void main(String[] arg) throws OgnlException {
String s =”sdf\\a\\aa”;
//把s中的反斜杠\ 替换为\\
System.out.println(s);
System.out.println(s.replaceAll(“\\\\”, “\\\\\\\\”));
System.out.println(s.replace(“\\”, “\\\\”));
}
可以看出上面两种都返回相同的替换结果。
这 里的关键是String.replaceAll()是用regular expression 来作为参数的。但是java本身的字符串对于转义符\也有类似的处理。首先,java会把“\\\\”解释成一个字符串(其中包含两个char)——“\ \”这个就是你在JDK的文档里看到的。
接下来,由于replaceAll是以正则表达式作为参数,所以“\\”被解释成一个regex。对于一个regex来说这就代表着一个字符,就是“\”。对后面的那个8个\来说,最终会被解释成“\\”。
换言之,假设String.replaceAll()是以普通字符串,而不是regex作为参数,那么这样写代码: String target = source.replaceAll(‘\\’, ‘\\\\’); 就可以了。

Ⅵ 浅谈java中replace和replaceAll的区别

replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是:
1、replace的参数是char和CharSequence,既可以支持字符的替换,也支持字符串的替换(CharSequence即字符串序列的意思,说白了也就是字符串);
2、replaceAll的参数是regex,即基于规则表达式的替换,比如,可以通过replaceAll("\\d",
"*")把一个字符串所有的数字字符都换成星号;
3、相同点是都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串,如果只想替换第一次出现的,可以使用
4、replaceFirst(),这个方法也是基于规则表达式的替换,但与replaceAll()不同的时,只替换第一次出现的字符串;
5、另外,如果replaceAll()和replaceFirst()所用的参数据不是基于规则表达式的,则与replace()替换字符串的效果是一样的,即这两者也支持字符串的操作;
还有一点注意:执行了替换操作后,源字符串的内容是没有发生改变的.

Ⅶ java replaceAll用法


String s1 = s.replaceAll(ss, "");
System.out.println(s1);
改为
s = s.replaceAll(ss, "");
System.out.println(s);
即可

Ⅷ java中String的replaceAll方法

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

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

publicclassTest{
publicstaticvoidmain(String[]args){
Stringvar1="dfas'f";
Stringvar2="dfas'f";
System.out.println(var1);//结果是dfas'f
System.out.println(var1.equals(var2));//结果是true
}
}

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

1、替换方式不同

【public String replace( )】

是通过用 newChar 替换此字符串中出现的所有 oldChar 而生成的。

【public String replaceAll( )】

使用给定的 replacement 字符串替换此字符串匹配给定的正则表达式的每个子字符串。

2、参数不同

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

【replaceAll】的参数是regex,regex表示是正则表达式。即基于正则表达式的替换。

用法范例一:

public static void main(String[] arg) throws OgnlException {

String s =”sdf\a\aa”;

//把s中的反斜杠 替换为\

System.out.println(s);

System.out.println(s.replaceAll(“\\”, “\\\\”));

System.out.println(s.replace(“\”, “\\”));

}

用法范例二:

String str = "wel2come3Souhe";

String str1 = str.replace("e", "E");

String str3 = str.replace('e', 'E');

System.out.println("replace字符串==" + str1);

System.out.println("replace字符=="+str3);

String str2 = str.replaceAll("\d", "a");//将数字替换a

System.out.println("replaceAll==" + str2);

输出结果:

replace字符串==wEl2comE3SouhE

replace字符==wEl2comE3SouhE

replaceAll==welacomeaSouhe

(9)replacealljava扩展阅读

Java中的String类

1、String类是final类,因此String类不能被继承。

2、String的成员方法都默认为final方法。

3、被final修饰的类是不允许被继承的,并且该类中的成员方法都默认为final方法。

4、String类其实是通过char数组来保存字符串的。

5、String对象一旦被创建就是固定不变的。

6、对String对象的任何改变都不影响到原对象,相关的任何change操作都会生成新的对象。

Ⅹ java replaceAll 正则表达式的用法是什么

String a = "2016-06-24 10:33:20";

String b = a.replaceAll("[-\s:]", "");

System.out.println(b);

跟你简单说明下

正则表达式中[]中的内容表示匹配其中任何一个

s 表示匹配任何不可见的空字符,但是在java中需要在前面再加一个转义字符才能生效

热点内容
ef数据库查询数据 发布:2025-05-18 03:29:36 浏览:668
百度云下载文件夹 发布:2025-05-18 03:17:33 浏览:674
php云开发 发布:2025-05-18 03:12:41 浏览:447
sql语句显示表 发布:2025-05-18 03:12:30 浏览:690
数据库系统的例子 发布:2025-05-18 03:02:42 浏览:191
数字化储存与编译是什么 发布:2025-05-18 02:56:55 浏览:217
个人网站模板源码 发布:2025-05-18 02:51:17 浏览:490
主服务器ip地址 发布:2025-05-18 02:46:29 浏览:856
电脑配置太低玩不了绝地求生怎么办 发布:2025-05-18 02:38:39 浏览:797
存储过程怎么出错了 发布:2025-05-18 02:37:16 浏览:368