String类是Java中最常用的类,下面是String的常用方法的总结。
(注:除了以下列出的方法之外,还有许多的重载方法,可以去Java API中查看)
方法名 | 返回类型 | 作用 |
---|---|---|
charAt(int index) | char | 返回指定索引的值 |
concat(String str) | String | 将指定的字符串连接到该字符串的末尾 |
contains(CharSequence s) | boolean | 当且仅当此字符串包含指定的char值序列时才返回true |
endsWith(String suffix) | boolean | 测试此字符串是否以指定的后缀结尾 |
equals(Object anObject) | boolean | 将此字符串与指定对象进行比较 |
hashCode() | int | 返回此字符串的哈希码 |
indexOf(String str) | int | 返回指定子字符串第一次出现的字符串内的索引 |
length() | int | 返回此字符串的长度 |
matches(String regex) | boolean | 告诉这个字符串是否匹配给定的 regular expression |
replace(char oldChar, char newChar) | String | 返回将所有oldChar替换为newChar的字符串 |
replaceAll(String regex, String replacement) | String | 用给定的regex替换,替换给定的 regular expression匹配的此字符串的每个子字符串 |
split(String regex) | String | 将此字符串以regex为界进行分割 |
startsWith(String prefix) | boolen | 测试此字符串是否以指定的前缀开头 |
substring(int beginIndex, int endIndex) | String | 返回一个字符串,该字符串是此字符串的子字符串 |
trim() | String | 返回一个字符串,其值为此字符串,并删除任何前导和尾随空格 |
valueOf(char c) | static String | 返回 char参数的字符串 char形式 |
package com.company;
public class Main {
public static void main(String[] args) {
String a = "123;456;789;123 ";
System.out.println(a.charAt(0)); // 返回第0个元素
System.out.println(a.indexOf(";")); // 返回第一个;的位置
System.out.println(a.concat(";000")); // 连接一个新字符串并返回,a不变
System.out.println(a.contains("000")); // 判断a是否包含000
System.out.println(a.endsWith("000")); // 判断a是否以000结尾
System.out.println(a.equals("000")); // 判断是否等于000
System.out.println(a.equalsIgnoreCase("000"));// 判断在忽略大小写情况下是否等于000
System.out.println(a.length()); // 返回a长度
System.out.println(a.trim()); // 返回a去除前后空格后的字符串,a不变
String[] b = a.split(";"); // 将a字符串按照;分割成数组
for (int i = 0; i < b.length; i++) {
System.out.println(b[i]);
}
System.out.println("===================");
System.out.println(a.substring(2, 5)); // 截取a的第2个到第5个字符 a不变
System.out.println(a.replace("1", "a"));
System.out.println(a.replaceAll("1", "a")); // replaceAll第一个参数是正则表达式
System.out.println("===================");
String s1 = "12345?6789";
String s2 = s1.replace("?", "a");
String s3 = s1.replaceAll("[?]", "a");
// 这里的[?] 才表示字符问号,这样才能正常替换。不然在正则中会有特殊的意义就会报异常
System.out.println(s2);
System.out.println(s3);
System.out.println(s1.replaceAll("[\\d]", "a")); //将s1内所有数字替换为a并输出,s1的值未改变。
}
}