欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

day4_JAVA字符串

程序员文章站 2022-01-21 19:02:32
...

1.String

  • 声明:
    String str;
  • 创建:
    String s1 = "I am a student";

2.连接

  • +
    String s1 = ''I am";
    String s2 = "student";
    String s = s1 +" "+s2;

注:如果字符串和其他类型数据连接,会将其他数据类型转换为字符串

3.获取字符串信息

  • 长度:
    str.length();
    注:该方法返回的长度包括空格

  • 查找位置:
    int size = str.indexOf(substr);(搜索的字符或者字符串首次出现的位置)
    例:int size = str.indexOf("a");
    int size = str.lastIndexOf(substr);(最后一次出现的索引位置)

  • 指定索引位置的字符
    char s1 = str.charAt(int index);
    例:char s1 = str.charAt(4);

4.字符串操作

  • 获取字符串
    String s1 = str.substring(int beginIndex);(从指定索引位置直到字符串结尾)
    String s2 = str.substring(int beginIndex,int endIndex);
    例:String s2 = substring(0,4);

  • 去除空格
    String s1 = " I am a student ";String s2 = s1.trim();
    注:该函数只能去除前导和尾部空格;

  • 字符串替换
    String newstr = str.replace(char oldChar,char newChar);
    例:String s1 = "address";
    String newstr = str.replace("a","A");
    注:replace函数会将出现过的字符都替换掉

  • 判断字符串的开始与结尾
    boolean b = str.startWith(String prefix);
    例:String str = "abcdefg";
    boolean b = str.startWith("ab");
    注:返回值是布尔型

  • 判断字符串是否相等
    ==只能判断两个字符串地址是否相同?
    equals():boolean b = s1.equals(s2);
    equalsIgbnoreCase():boolean b = s1.equalsIgnoreCase(s2);
    注:equalsIgbnoreCase()是在忽略了大小写的情况下比较两个字符串是否相等

  • 大小写转换
    String s1 = str.toLowerCase();变为小写
    String s2 = str.toUpperCase();变为大写

  • 字符串分割
    String[] s1 = str.spilt(String sign);
    String[] s2 = str.spilt(String sign,int limit);
    注:前面那个没有分割次数限制,只要出现sign都会分割,后面那个limit限制了分割几次

5.格式化字符串

  • 日期格式化
import java.util.Date;
Date date1 = new Date();
String year = String.format("%tY",date1);
String month = String.format("%tB",date1);
String day = String.format("%td",date1);
  • 时间格式化
import java.util.Date;
Date date2 = new Date();
String hour = String.format("%tH",date2);
String minute = String.format("%tM",date2);
String second = String.format("%tS",date2);