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);

  • 相关阅读:
    JAVA语言 第五周
    JAVA语言 第四周
    Good Bye 2016 D. New Year and Fireworks BFS
    Codeforces Round #402 (Div. 2) D. String Game 二分
    Codeforces Round #401 (Div. 2) E. Hanoi Factory 栈
    Good Bye 2016 C. New Year and Rating 模拟
    Codeforces Round #147 (Div. 2) C. Primes on Interval 二分
    Codeforces Round #398 (Div. 2) B. The Queue 思维
    Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) D. Jon and Orbs 概率DP
    Divide by Zero 2017 and Codeforces Round #399 (Div. 1 + Div. 2, combined) E. Game of Stones Nim游戏
  • 原文地址:https://www.cnblogs.com/-gongxue/p/14330997.html
Copyright © 2011-2022 走看看