• 2013年4月1日星期一java字符串处理


    二季度第一天,我被易迅愚弄了,为什么我27号下单还没收到memo,而有人评论说28号就收到了呢?

    早上直到了div的float属性,标准流逝垂直分布,如果浮动则会改变标准流属性。

    Java字符串处理函数之:replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是:

    1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharSequence就是字符串);

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

    相同点是都是全部替换,即把源字符串中的某一字符或字符串全部换成指定的字符或字符串,如果只想替换第一次出现的,可以使用 replaceFirst(),这个方法也是基于规则表达式的替换,但与replaceAll()不同的是,只替换第一次出现的字符串;

    另外,如果replaceAll()和replaceFirst()所用的参数据不是基于规则表达式的,则与replace()替换字符串的效果是一样的,即这两者也支持字符串的操作;

    还有一点注意:执行了替换操作后,源字符串的内容是没有发生改变的.

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

    String msgIn;

    String msgOut;

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

    原因:

    '\'在java中是一个转义字符,所以需要用两个代表一个。例如System.out.println( "\\" ) ;只打印出一个"\"。但是'\'也是正则表达式中的转义字符(replaceAll 的参数就是正则表达式),需要用两个代表一个。所以:\\\\被java转换成\\,\\又被正则表达式转换成\。

    将字符串中的'/'替换成'\'的几种方式:

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

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

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

    JAVA正则表达式:

     Java正则表达式通过java.util.regex包下的两个类:Pattern和Matcher实现的。用法如下:

    1.首先引入java包:java.util.regex.*(当然,使用java.util.regex.Matcher+java.util.regex.Pattern也是一样的。)

    2.具体使用如下:①通过Pattern对象构造一个模式,具体代码为(某个特例):Pattern p = Pattern.compile("[a-z]*"); ② 构造一个匹配器,Matcher m = p.matcher(str); (注意:此处str为待匹配的字符串); ③进行判断,得到结果:boolean b = m.matches() 。【说明】:关于Matcher类进行匹配操作时,它提供了三种方法,这三种方法返回值均为boolean类型:匹配成功,则返回true,否则返回false。  

      正则表达式中,各符号的含义如下 :

    •.表示任意一个字符;

    •\s表示空白字符(如:空格符、换行符、制表符、回车等);

    •\S表示非空格字符;

    •\d表示一个数字,相当于[0-9];

    •\D表示一个非数字的字符,相当于[^0-9];

    •\w表示一个单词字符,相当于[]

    •\W表示一个非单词的字符,相当于[^\w];

    •^表示一行的开始;

    •$表示一行的结尾;

    •\b表示一个单词的边界;

    •\B表示一个非单词的边界;

    •\G表示前一个匹配结束;

    •[]表示匹配方括号内的一个字符,例如:[abc](或[a,b,c])表示字母a,b,c中的任意一个;[a-zA-Z](或[a-z,A-Z])表示a-z,A-Z中的任意一个字符;

    •*表示重复0次或更多次,如a*表示匹配0个或更多个a;

    •+表示重复1次或更多次,如a+表示匹配1个或多个a;

    •{n}表示重复n次,如a{4}表示匹配4个a;

    •{n,}表示重复n次或更多次,如a{4,}表示匹配至少4个a;

    •{n,m}表示重复n到m次,如a{4,10}表示匹配4-10个a。

    貌似正则表达式不能匹配中文

    要坚持早睡早起,准备睡觉!

  • 相关阅读:
    Spring Boot----SpringData
    Spring Boot----整合MyBatis
    Spring Boot----整合jdbc和整合Durid数据源
    Spring Boot----嵌入式servlet和外置servlet使用
    大数据 CDH 5.8 安装
    Java 单例模式
    python 常用方法
    使用wepy开发微信小程序商城第三篇:购物车(布局篇)
    js时间戳转化成日期格式
    使用wepy开发微信小程序商城第二篇:路由配置和页面结构
  • 原文地址:https://www.cnblogs.com/doit8791/p/2994474.html
Copyright © 2020-2023  润新知