zoukankan      html  css  js  c++  java
  • Java字符串处理常用方法

    char

    char的默认值是空字符,判断是不是空字符用''
    ASCII码一览表

    十进制 字符
    0 NULL
    48 0
    57 9
    65 A
    90 Z
    97 a
    122 z
    char a = 65;
    System.out.print(a);//A
    System.out.println(a+1);//66
    
    System.out.println((char)('a'+25));//z
    

    String ——不变字符串

    要想改变字符串需将改变后的字符串再赋值给原来的字符串

    String s = "abcabcabc";
    System.out.println(s.toUpperCase());//ABCABCABC
    System.out.println(s);//abcabcabc
    

    全部转换为大写或小写

    s.toUpperCase();
    s.toLowerCase();
    

    只能将特定字符串替换为其他字符串

    String s = "abcabcabc";
    s = s.replaceFirst("abc","a-c");//a-cabcabc
    s = s.replaceAll("abc","a-c");//a-ca-ca-c
    

    字符串转换为对应的char数组

    String s1 = "qazqaz";
    char[] c1 = s1.toCharArray();
    

    StringBuilder——可变字符串

    常用于OJ竞赛(速度比StringBuffer快,但是线程不安全)

    初始化以及赋值

    StringBuilder sb = new StringBuilder();
    //一个空的StringBuilder
    
    StringBuilder sb = new StringBuilder("qwer123");
    //一个值为qwer123的字符串
    
    String s = "0123";
    StringBuilder sb = new StringBuilder(s);
    System.out.println(sb);//0123
    

    查找

    找到指定位置的字符

    sb.charAt(int index);
    

    找到特定字符的位置
    注意是否有越界或者找不到位置的可能

    StringBuilder sb = new StringBuilder("0qwer1230");
    sb.indexOf("w");//2
    sb.indexOf("a");//-1
    sb.lastIndexOf("0");//8
    

    插入

    指定位置前面插入字符串

    StringBuilder sb = new StringBuilder("0123456789");
    sb.insert(5, "insert");//从0开始计数,在5前面插入
    System.out.println(sb);//01234insert56789
    

    替换

    替换字符好像没有现成的方法。所以可以先删除,后插入

    替换某个字符

    StringBuilder sb = new StringBuilder("012345");
    int index = 3;
    sb.deleteCharAt(index);
    sb.insert(index, "C");
    

    替换某个位置的字符

    StringBuilder sb = new StringBuilder("0123450");
    String letter = "3";
    int index1 = sb.indexOf(letter);
    int index2 = sb.lastIndexOf("0");//6
    System.out.println(index2);
    sb.deleteCharAt(index1);
    sb.insert(index1, "C");
    System.out.println(sb);//012C450
    

    替换某段位置的字符串

    sb.replace(index1,index2,"string");
    //替换sb中位置为[index1,index2)的字符串为string
    

    追加

    追加字符串(字符)

    StringBuilder sb = new StringBuilder("qazwsx123");
    sb.append("ABC");//qazwsx123ABC
    

    也可配合数组使用

    StringBuilder sb = new StringBuilder("qazwsx123");
    char[] array = {'A','B','C'};
    for (int i = 0; i < 2; i++) {
    	sb.append(array[i]);
    }
    System.out.println(sb);//qazwsx123AB
    

    删除

    删除某个位置的字符

    sb.deleteCharAt(index);
    

    删除字符串

    sb.delete(index1,index2);
    //删除[index1,index2)
    

    正则表达式

    获取特定格式下的部分字符串,比如地址,邮箱
    模糊匹配

    注意

    边界数据和特殊数据的处理

    向好的方向走一步,就离坏的结果远一步
  • 相关阅读:
    +-字符串
    心急的C小加
    明明的随机数
    最大公约数和最小公倍数
    独木舟上的旅行
    背包问题
    喷水装置
    奇数魔方
    栈的应用
    c链表结点的删除和添加
  • 原文地址:https://www.cnblogs.com/PersistLu/p/12700326.html
Copyright © 2011-2022 走看看