zoukankan      html  css  js  c++  java
  • 0126 字符串缓冲区StringBuffer类 正则表达式

    在String类中,API中字符串缓冲区可支持可变字符串

    StringBuffer类,就可以创建一个可变字符串

    构造方法:

     例:StringBuffer s=new StringBuffer();创建一个StringBuffer对象

    StringBuffer类常用方法

    (1)append(String str)返回值类型是StringBuffer,是指在指定的字符串追加str字符串

    例:

    //添加元素
    s.append("abc").append(true).append(1.6);
    System.out.println(s);

    运行结果

    abctrue1.6

    注:该方法的返回值类型就是这个对象本身,所以可以继续调用append方法

    (2)delete(int start,int end)移出从start开始到end结束的字符

    例:

    //删除元素包头不包尾
    s.delete(2, 5);
    System.out.println(s);

    运行结果

    abue1.6

    (3)insert(int offset, String str)在offset位置插入字符串str

    例:

    //在指定位置添加元素
    s.insert(3, "你哈");
    System.out.println(s);

    运行结果

    abu你哈e1.6

    (4)replace(int start, int end, String str)将从start位置开始到end位置结束的字符串替换为str

    例:

    //替换包头不包尾
    s.replace(0, 2, "海绵宝宝");
    System.out.println(s);

    运行结果

    海绵宝宝u你哈e1.6

    (5)reverse()倒叙输出

    例:

    //翻转
    s.reverse();
    System.out.println(s.toString());

    运行结果

    6.1e哈你u宝宝绵海

    StringBuilder类和StringBuffer类是两个一模一样的类,只是名字不一样,构造方法和成员方法都一模一样,区别是前者比后者速度要快。

    正则表达式

    字符:

     x代表字符‘x’

    \代表字符‘’

    代表一个制表符

    代表一个换行符

    代表回车符

    字符类:

    [abc]代表abc任何一个就可以

    [^abc]除了abc以外任何

    [a-zA-Z]代表的是a 到 z 或 A 到 Z,两头的字母包括在内

    [0-9]代表的是 0到9数字,两头的数字包括在内

    [a-zA-Z_0-9]代表的字母或者数字或者下划线(即单词字符)

    预定义字符类(写在规则里要多加一个转意一下)

    .代表的是任何字符

    d    D代表的是 0到9数字,两头的数字包括在内,相当于[0-9]

    w    W代表的字母或者数字或者下划线(即单词字符),相当于[a-zA-Z_0-9]

    数量词

    X?代表的是X出现一次或一次也没有

    X*代表的是X出现零次或多次

    X+代表的是X出现一次或多次

    X{n}代表的是X出现恰好 n 次

    X{n,}代表的是X出现至少 n 次

    X{n,m}代表的是X出现至少 n 次,但是不超过 m 次

    正则表达式实际上就是一次个字符串

    (1)matches(String reg)方法含义是告知此字符串是否满足正则表达式reg返回值是布尔值

    使用时通过对象调用matches方法传入规则

    例:

    String s="2286995636";
    String reg="[1-9][0-9]{4,14}";
    boolean flag=s.matches(reg);
    System.out.println(flag);

    例:要求为11位数字第1位为1,第2位为3、4、5、7、8中的一个,后面9位为0到9之间的任意数字

    String reg1="[1][34578][0-9]{9}";
    String phone="15065878317";
    System.out.println(phone.matches(reg1));

    (2)split(string reg)依据正则表达式reg对字符串进行拆分

    例:

    String s="192.168.1.171";
    String reg="\.";
    String[] arr=s.split(reg);
    for(int i=0;i<arr.length;i++){
    System.out.print(arr[i]+" ");
    }

    (3)replaceAll(String reg,String str)将满足正则表达式reg的字符替换为str

    String s="hello123sds23af6ffew456dsff326fe5649f";
    String reg="[0-9]+";
    String str=s.replaceAll(reg, "*");
    System.out.println(str);

  • 相关阅读:
    Spring事务传播特性NOT_SUPPORTED使用演示
    spring配置基于xml的声明式事务
    反射的简单应用
    MyBatis批处理工具类MyBatisBatchHelper.java
    Mybatis分页插件PageHelper的使用
    利用Spring的Profile加载指定数据源
    Nginx状态信息(status)配置及信息详解
    nginx配置基于域名、端口、IP的虚拟主机
    Nginx Linux安装与部署
    rename 批量修改文件名简单用法
  • 原文地址:https://www.cnblogs.com/-gongxue/p/14330997.html
Copyright © 2011-2022 走看看