ReplaceAll()和Replace的实战用法

关于转义:

\  ==> \\

\\==>\\\\

"==>\"

\"==>\\\"(拆分为\\+\")

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

替换第一次出现的,可以使用 replaceFirst()

读取文件,将字符串的"\n"替换成空串,java先引入io

<!--加入对commons-io的依赖-->
<dependency>
	<groupId>commons-io</groupId>
	<artifactId>commons-io</artifactId>
	<version>2.4</version>
</dependency>

直接方法解析:

//传入字符串,解析成字符串集合
    public static String getArrayData(String str)throws IOException{
        String json=null;
        String ss=null;
        if(!str.isEmpty()){
            try {
                //io读取文件,转换成字符串
                File file = new File("F:\2018-11-10\old\bidui\20170102143829.txt");
                String content = FileUtils.readFileToString(file);
                JSONObject js=new JSONObject(content);
                json=js.getString("data");
                //将\n替换成一个空串
                ss=json.replaceAll("\n","");
            }catch (Exception e){

            }
        }
        return ss;
    }

小知识梳理一下:

 \\ 反斜杠 
\t 间隔 ('\u0009')
\n 换行 ('\u000A')
\r 回车 ('\u000D')
\d 数字 等价于 [0-9]
\D 非数字 等价于 [^0-9]
\s 空白符号 [\t\n\x0B\f\r]
\S 非空白符号 [^\t\n\x0B\f\r]
\w 单独字符 [a-zA-Z_0-9]
\W 非单独字符 [^a-zA-Z_0-9]
\f 换页符 
\e Escape
\b 一个单词的边界 
\B 一个非单词的边界 
\G 前一个匹配的结束 

用"\\*" "\\+"转义后即可得到正确的结果。

“.”和“|”都是转义字符必须得加"\\";要么就直接报异常了。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值