字符串的比较、获取、截取、转换、分割方法---Java

String当中与比较相关的常用方法有:

==是进行对象的地址值比较,如果确实需要字符串的内容比较,可以使用两个方法:

public boolean equals(Object obj)参数可以是任何对象,只有参数是一个字符串并且内容相同的才会给true;否则返回false。
注意事项:
1. 任何对象都能用Object进行接收。
2. equals方法具有对称性,也就是a.equals(b)和b.equals(a)效果一样。
3. 如果比较双方一个常量一个变量,推荐把常量字符串写在前面
推荐:"abc".equals(str) 不推荐:str.equals("abc")

public boolean equalsIgnoreCase(String str):忽略大小写,进行内容比较。

 1 public class Demo01StringEquals {
 2 
 3     public static void main(String[] args) {
 4         String str1 = "Hello";
 5         String str2 = "Hello";
 6         char[] charArray = {'H', 'e', 'l', 'l', 'o'};
 7         String str3 = new String(charArray);
 8 
 9         System.out.println(str1.equals(str2)); // true
10         System.out.println(str2.equals(str3)); // true
11         System.out.println(str3.equals("Hello")); // true
12         System.out.println("Hello".equals(str1)); // true
13 
14         String str4 = "hello";
15         System.out.println(str1.equals(str4)); // false
16         System.out.println("=================");
17 
18         String str5 = null;
19         System.out.println("abc".equals(str5)); // 推荐:false
20 //        System.out.println(str5.equals("abc")); // 不推荐:报错,空指针异常NullPointerException
21         System.out.println("=================");
22 
23         String strA = "Java";
24         String strB = "java";
25         System.out.println(strA.equals(strB)); // false,严格区分大小写
26         System.out.println(strA.equalsIgnoreCase(strB)); // true,忽略大小写
27 
28         // 注意,只有英文字母区分大小写,其他都不区分大小写
29         System.out.println("abc一123".equalsIgnoreCase("abc壹123")); // false
30     }
31 
32 }
比较

String当中与获取相关的常用方法有:

public int length():获取字符串当中含有的字符个数,拿到字符串长度。
public String concat(String str):将当前字符串和参数字符串拼接成为返回值新的字符串。
public char charAt(int index):获取指定索引位置的单个字符。(索引从0开始。)
public int indexOf(String str)查找参数字符串在本字符串当中首次出现的索引位置,如果没有返回-1值

 1 public class Demo02StringGet {
 2 
 3     public static void main(String[] args) {
 4         // 获取字符串的长度
 5         int length = "asdasfeutrvauevbueyvb".length();
 6         System.out.println("字符串的长度是:" + length);
 7 
 8         // 拼接字符串
 9         String str1 = "Hello";
10         String str2 = "World";
11         String str3 = str1.concat(str2);
12         System.out.println(str1); // Hello,原封不动
13         System.out.println(str2); // World,原封不动
14         System.out.println(str3); // HelloWorld,新的字符串
15         System.out.println("==============");
16 
17         // 获取指定索引位置的单个字符
18         char ch = "Hello".charAt(1);
19         System.out.println("在1号索引位置的字符是:" + ch);
20         System.out.println("==============");
21 
22         // 查找参数字符串在本来字符串当中出现的第一次索引位置
23         // 如果根本没有,返回-1值
24         String original = "HelloWorldHelloWorld";
25         int index = original.indexOf("llo");
26         System.out.println("第一次索引值是:" + index); // 2
27 
28         System.out.println("HelloWorld".indexOf("abc")); // -1
29     }
30 
31 }
获取


字符串的截取方法:

public String substring(int index)截取从参数位置一直到字符串末尾,返回新字符串。
public String substring(int begin, int end)截取从begin开始,一直到end结束,中间的字符串。
备注:[begin,end),包含左边,不包含右边。

 1 public class Demo03Substring {
 2 
 3     public static void main(String[] args) {
 4         String str1 = "HelloWorld";
 5         String str2 = str1.substring(5);
 6         System.out.println(str1); // HelloWorld,原封不动
 7         System.out.println(str2); // World,新字符串
 8         System.out.println("================");
 9 
10         String str3 = str1.substring(4, 7);
11         System.out.println(str3); // oWo
12         System.out.println("================");
13 
14         // 下面这种写法,字符串的内容仍然是没有改变的
15         // 下面有两个字符串:"Hello","Java"
16         // strA当中保存的是地址值。
17         // 本来地址值是Hello的0x666,
18         // 后来地址值变成了Java的0x999
19         String strA = "Hello";
20         System.out.println(strA); // Hello
21         strA = "Java";
22         System.out.println(strA); // Java
23     }
24 
25 }
截取


String当中与转换相关的常用方法有:

public char[] toCharArray()将当前字符串拆分成为字符数组作为返回值。
public byte[] getBytes():获得当前字符串底层的字节数组。
public String replace(CharSequence oldString, CharSequence newString)
将所有出现的老字符串替换成为新的字符串,返回替换之后的结果新字符串。
备注:CharSequence意思就是说可以接受字符串类型。

 1 public class Demo04StringConvert {
 2 
 3 public static void main(String[] args) {
 4 // 转换成为字符数组
 5 char[] chars = "Hello".toCharArray();
 6 System.out.println(chars[0]); // H
 7 System.out.println(chars.length); // 5
 8 System.out.println("==============");
 9 
10 // 转换成为字节数组
11 byte[] bytes = "abc".getBytes();
12 for (int i = 0; i < bytes.length; i++) {
13 System.out.println(bytes[i]);
14 }
15 System.out.println("==============");
16 
17 // 字符串的内容替换
18 String str1 = "How do you do?";
19 String str2 = str1.replace("o", "*");
20 System.out.println(str1); // How do you do?
21 System.out.println(str2); // H*w d* y*u d*?
22 System.out.println("==============");
23 
24 String lang1 = "会不会玩儿呀!你大爷的!你大爷的!你大爷的!!!";
25 String lang2 = lang1.replace("你大爷的", "****");
26 System.out.println(lang2); // 会不会玩儿呀!****!****!****!!!
27 }
28 
29 }
转换

分割字符串的方法:
public String[] split(String regex):按照参数的规则,将字符串切分成为若干部分。

注意事项:
split方法的参数其实是一个“正则表达式”,今后学习。
今天要注意:如果按照英文句点“.”进行切分,必须写"\."(两个反斜杠)

 1 public class Demo05StringSplit {
 2 
 3     public static void main(String[] args) {
 4         String str1 = "aaa,bbb,ccc";
 5         String[] array1 = str1.split(",");
 6         for (int i = 0; i < array1.length; i++) {
 7             System.out.println(array1[i]);
 8         }
 9         System.out.println("===============");
10 
11         String str2 = "aaa bbb ccc";
12         String[] array2 = str2.split(" ");
13         for (int i = 0; i < array2.length; i++) {
14             System.out.println(array2[i]);
15         }
16         System.out.println("===============");
17 
18         String str3 = "XXX.YYY.ZZZ";
19         String[] array3 = str3.split("\.");
20         System.out.println(array3.length); // 0
21         for (int i = 0; i < array3.length; i++) {
22             System.out.println(array3[i]);
23         }
24     }
25 
26 }
分割
原文地址:https://www.cnblogs.com/zeon/p/13357470.html