京东6.18大促主会场领京享红包更优惠

 找回密码
 立即注册

QQ登录

只需一步,快速开始

String 类的replace方法替换字符串“无效”、“不起作用”原因

2020-4-30 17:13| 发布者: zhaojun917| 查看: 823| 评论: 0

摘要: String类的replaceall方法的第一个参数并不是简单的字符串,而是一个正则表达式。在正则表达式中,英文点号(.)表示任意字符,所以你原先的写法会把所有字符都替换成空白。所以,你需要用转义符来在正则表达式中表达 ...

String类的replaceall方法的第一个参数并不是简单的字符串,而是一个正则表达式。在正则表达式中,英文点号(.)表示任意字符,所以你原先的写法会把所有字符都替换成空白。
所以,你需要用转义符来在正则表达式中表达普通的点号,写成\.,但是字符串中\本身就是转义符,所以还需要再写一个斜杠加在\之前,因此就写成了replaceAll("\\.","")

详细参考JDK API文档中String类的replaceAll方法说明,和java.util.regex的Pattern类介绍。

Java正则表达式预定义字符类 :
. 任何字符(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W 非单词字符:[^\w]

为了去掉"abcdefg"中间的c
public class Main {

    public static void main(String[] args) {
        String s = "abcdefg";
        s.replace("c","");
        System.out.println(s);
    }

}
//输出结果abcdefg


问题所在就是s= s.replace("","");需要一个变量在接受他的返回值



public class Main {

    public static void main(String[] args) {
        String s = "abcdefg";
        s = s.replace("c","");
        System.out.println(s);
    }

}

//输出结果abdefg

 

看API:

————————————————
版权声明:本文为CSDN博主「官-开发之路」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ling1234ling1234/java/article/details/87805889


关闭

站长推荐上一条 /6 下一条

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )|网站地图

GMT+8, 2025-7-1 18:25 , Processed in 0.036221 second(s), 19 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2025 Discuz! Team.

返回顶部