(String 常用方法)
1.字符串与字符数组的转换(toCharrArray())
解释:字符串变成字符数组
String str1 = "hello";
char c[] = str1.toCharArray();
for (int i = 0; i < c.length; i++) {
System.out.print(c[i]+"\t");
}
输出:h e l l o
2.把字符数组变成一个字符串
public String (char[ ] values) 可以直接传一个字符串数组
public static void main(String[] args) {
String str1 = "hello";
char c[] = str1.toCharArray();
for (int i = 0; i < c.length; i++) {
System.out.print(c[i]+"\t");
}
String str2 = new String(c); //直接传字符串数组
System.out.println(str2);
输出:
h e l l o
hello
3.指定范围变成字符数组变成字符串
new String(c,0,3); (下标从0开始取3个字符)
public static void main(String[] args) {
String str1 = "hello";
char c[] = str1.toCharArray();
for (int i = 0; i < c.length; i++) {
System.out.print(c[i]+"\t");
}
System.out.println();
String str3 = new String(c,0,3); // 从第1个(下标是0 到)取3个
System.out.println(str3);
输出:
h e l l o
hel
4.从字符串取出指定位置的字符 (charAt())
从0开始取取出第4个字符
public static void main(String[] args) {
String str1 = "abcd";
System.out.println(str1.charAt(3));
}
输出:d
5.字符串与byte数组的转换(getBytes())
字符串通过getBytes(),把string变成一个byte数组
public static void main(String[] args) {
String str1 = "ABCD";
byte b[] = str1.getBytes();
System.out.println(new String(b)); //把byte数组变成字符串
System.out.println(new String(b,1,3)); //下标是0
//从下标是1 开始,取3个字符
}
输出:
ABCD
BCD
6. 取得一个字符串的长度(length())
public static void main(String[] args) {
String str = "spell word"; //1o个空格也算
System.out.println(str.length());
}
输出:10
7.查找一个指定的字符是否存在(indexOf())
在String中查找指定是字符,如果有返回字符位置(从0开始),如果没有返回-1
public static void main(String[] args) {
String str1 = "abcdefgc";
System.out.println(str1.indexOf("b")); //查找b 从0下标开始 返回1
System.out.println(str1.indexOf("c",3));
//c 从第四个字符(下标是3)开始 ,在下标是7的位置有c
System.out.println(str1.indexOf("x")); //没有x返回-1
}
输出:
1
7
-1
8.去掉左右空格(trim())
只可以去掉左右的空 不去掉字符中间的空
public static void main(String[] args) {
String s1 = " ookk ";
String s2 = " o o k k ";
String s3 = " o o k k ";
System.out.println(s1.trim()); //去掉左右空
System.out.println(s2.trim());//去掉左右空,不去中间的空
System.out.println(s3); ///左右的空都不去
}
输出:
ookk
o o k k
\ o o k k
9.按照指定的字符拆分字符串(split())
通过split()进行字符串的拆分 ,拆分的字符串以 字符串数组
的形式返回
public static void main(String[] args) {
String s1 = "hello world";
String s[] = s1.split(" "); //按照空格分割
for (int i = 0; i < s.length; i++) {
System.out.println(s[i]);
}
}
输出:
hello
world
10.字符大小写转换
使用这2个(toUpperCase())小变大
(toLowerCase())大变小
public static void main(String[] args) {
String s1= "hello world"; //小写
String s2= "HELLO WORLD"; //大写
System.out.println(s1.toUpperCase()+"小变大");
System.out.println(s2.toLowerCase()+"大变小");
}
输出:
HELLO WORLD小变大
hello world大变小
11.判断是否以指定的字符串开头或结尾
starsWith() 判断字符串是否以指定的内容开头
使用endsWith()判断字符是否以指定的内容结尾
public static void main(String[] args) {
String st1 = "**HELLO";
String st2 = "WORLD**";
if (st1.startsWith("**")){
System.out.println(st1+"以** 开始");
}
if(st2.endsWith("**")){
System.out.println(st2+"以** 结束");
}
}
输出:
12.不区分大小写进行字符比较
public static void main(String[] args) {
String str1 = "HELLO";
String str2 = "hello";
System.out.println(str1.equals(str2)); //区分大小写返回false
System.out.println(str1.equalsIgnoreCase(str2)); //不区分大小写返回true
}
输出:
false
true