String常用api
**int length()****:**返回字符串的长度: return value.length
char charAt(int index)****: 返回某索引处的字符return value[index]
**boolean isEmpty()****:**判断是否是空字符串:return value.length == 0
**String toLowerCase()****:**使用默认语言环境,将 String 中的所有字符转换为小写
**String toUpperCase()****:**使用默认语言环境,将 String 中的所有字符转换为大写
**String trim()****:**返回字符串的副本,忽略前导空白和尾部空白
public void test1(){
String s1 = "helloWord";
System.out.println(s1.length());
System.out.println(s1.charAt(0));
System.out.println(s1.isEmpty());
System.out.println(s1.toLowerCase());
System.out.println(s1.toUpperCase());
String s2 = " hello ";
System.out.println(s2.trim());
System.out.println(s2);
}
//运行结果
9
h
false
helloword
HELLOWORD
hello
hello
**boolean equals(Object obj)****:**比较字符串的内容是否相同
**boolean equalsIgnoreCase(String anotherString)****:**与equals方法类似,忽略大小写
**String concat(String str)****:**将指定字符串连接到此字符串的结尾。 等价于用“+”
**int compareTo(String anotherString)****:**比较两个字符串的大小
**String substring(int beginIndex)****:**返回一个新的字符串,它是此字符串的从beginIndex开始截取到最后的一个子字符串。
String substring(int beginIndex, int endIndex) **:**返回一个新字符串,它是此字符串从beginIndex开始截取到endIndex(不包含)的一个子字符串。
@Test
public void test2(){
String s1 = "HelloWord";
String s2 = "helloword";
System.out.println(s1.equals(s2));
System.out.println(s1.equalsIgnoreCase(s2));
System.out.println(s1.concat("fj"));
System.out.println(s1.compareTo(s2));
System.out.println(s1.substring(5));
System.out.println(s1.substring(0, 5));
}
//运行结果
false
true
HelloWordfj
-32
Word
Hello
**boolean endsWith(String suffix)****:**测试此字符串是否以指定的后缀结束
**boolean startsWith(String prefix)****:**测试此字符串是否以指定的前缀开始
**boolean startsWith(String prefix, int toffset)****:**测试此字符串从指定索引开始的子字符串是否以指定前缀开始
**boolean contains(CharSequence s)****:**当且仅当此字符串包含指定的 char 值序列时,返回 true
**int indexOf(String str)****:**返回指定子字符串在此字符串中第一次出现处的索引
**int indexOf(String str, int fromIndex)****:**返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始
**int lastIndexOf(String str)****:**返回指定子字符串在此字符串中最右边出现处的索引
**int lastIndexOf(String str, int fromIndex)****:**返回指定子字符串在此字符串中最后一次出现处的索引,从指定的索引开始反向搜索
注:indexOf和lastIndexOf方法如果未找到都是返回-1
@Test
public void test3(){
String s1 = "ignore";
System.out.println(s1.endsWith("re"));
System.out.println(s1.startsWith("n",2));
String s2 = "no";
System.out.println(s1.contains(s2));
System.out.println(s1.indexOf(s2));
System.out.println(s1.indexOf(s2,1));
System.out.println(s1.lastIndexOf(s2));
System.out.println(s1.lastIndexOf(s2, 3));
}
//运行结果
true
true
true
2
2
2
2
**String replace(char oldChar, char newChar)****:**返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
**String replace(CharSequence target, CharSequence replacement)****:**使用指定的字面值替换序列替换此字符串所有匹配字面值目标序列的子字符串。
String replaceAll(String regex, String replacement) : 使 用 给 定 的replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
String replaceFirst(String regex, String replacement) : 使 用 给 定 的replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
**boolean matches(String regex)****:**告知此字符串是否匹配给定的正则表达式。
**String[] split(String regex)****:**根据给定正则表达式的匹配拆分此字符串。
**String[] split(String regex, int limit)****:**根据匹配给定的正则表达式来拆分此字符串,最多不超过limit个,如果超过了,剩下的全部都放到最后一个元素中。
@Test
public void test4(){
String s1 = "四川|的麻|辣烫";
String s2 = s1.replace('四', '北');
System.out.println(s2);
System.out.println(s1.replace("四川", "南京"));
String str1 = "1234355kkkk";
System.out.println(str1.matches("\\d+"));
System.out.println(str1.replaceAll("\\d", "h"));
System.out.println(str1.matches("123\\d{4,8}"));
String[] s = s1.split("\\|");
for (int i = 0; i < s.length; i++) {
System.out.println(s[i]);
}
//运行结果
北川|的麻|辣烫
南京|的麻|辣烫
false
hhhhhhhkkkk
false
四川
的麻
辣烫