MENU

String常用方法

• November 14, 2020 • 面向对象编程

String常用方法

字符串与字符

  • public String(char[] arr) 传入的字符数组转换为String类
  • public String(char[] arr,int offset,int count) 传入的字符数组从下表offset开始的count个字符转换为字符串
  • public char charAt(int index) 返回下标为index的字符
  • public char[] toCharArray() 将字符串转换为字符数组

实例:

判断一个字符串全部由数字组成

public static boolean isNumber(String string){
  for (int i = 0; i <string.length(); i++) {
    if(string.charAt(i)>57||string.charAt(i)<48){
      return false;
    }
  }
  return true;
}

字符串与字节

  • public String(byte[] bytes) 传入的字节数组转换为String类
  • public String(byte[] bytes,int offset,int count) 传入的字节数组从下表offset开始的count个字节转换为字符串
  • public byte getBytes() 将字符串转为字节数组
  • public abyte[] getBytes(String charsetName) throws UNsupportedEncodingException 编码转换

字符串比较

"=="和equals()方法就不多说了
还有一个方法是equals的兄弟,在比较的过程中不区分英文大小写。public boolean equalsIgnoreCase(String anotherString)
重点关注这个方法:

  • public int compareTo(String anotherString) 进行字符串大小写比较
  • public int compareToIngnoreCase(String anotherString)

返回一个int数据:大于(>0) 、小于(<0)、等于(=0)

字符串查找

  • public boolean contains(String s) 判断字符串s是否存在与字符串中
  • public int indexOf(String str) 从头查找子字符串的位置,找不到返回-1
  • public int indexOf(String str, int indexFrom) 从指定位置查找子字符串的位置,找不到返回-1
  • public int lastIndexOf(String str) 从后向前查找子字符串的位置,找不到返回-1
  • public int lastIndexOf(String str, int indexFrom) 从指定位置由后向前查找子字符串的位置,找不到返回-1
  • public boolean startsWith(String prefix) 判断是否由指定的字符串开头
  • public boolean startsWith(String prefix, int toffset) 由指定位置判断是否由指定的字符串开头
  • 同样有endWith等

字符串替换

  • public String replaceAll(String regex, String replacement) 全换
  • public String replaceFirst(Sting regex, String replacement) 换第一个

字符串拆分

  • public String[] split(String regex) 按照指定字符串全部拆分
  • public String[] split(String regex, int limit) 按照指定字符串拆分为指定个数,后面的不拆了

注意正则表达式

字符串截取

  • public String substring(int beginIndex) 从指定位置到字符串结尾
  • public String substring(int beginIndex, int endIndex) 截取区间的字符串

字符串格式化

提供和C语言输出相差无几的输出格式
%s 字符串
%c 字符
%d 整数
%f 小数、

  • public static String format(String format, 各种类型 ……args) 根据文本进行格式化

例如:

public static void main(String[] args) {
  String name = "小明";
  int age = 13;
  char sex = '男';
  String info = String.format("姓名:%s   年龄:%d   性别:%c",name,age,sex);
  System.out.println(info);
}

运行结果:

字符串其他常用方法

  • public String concat(String str) 字符串拼接
  • public String intern() 字符串入对象池
  • public boolean isEmpty() 判断是不是一个空串
  • public int length() 字符串长度
  • public String trim() 去除字符串左右的空格信息(包括tab)
  • public String toUpperCase() 将字符串中小写字母转换为大写
  • public String toLowerCase() 将字符串中大写字母转换为小写

实例:
自定义一个实现首字母大写的方法

public static String initcap(String string){
  if(string == null || "".equals(string)) {
    return string;
  }
  else if(string.length() == 1) {
    return string.toUpperCase();
  }
  else {
    return string.substring(0,1).toUpperCase()+string.substring(1);
  }
}

代码编译器:IntelliJ IDEA 2020.02

Archives QR Code Tip
QR Code for this page
Tipping QR Code