本文由编程笔记小编整理,主要介绍了Java中字符串截取方法的相关知识,希望对你有所帮助。
1. length() 方法用于获取字符串的长度。
示例:
char chars[] = {'a', 'b', 'c'};
String s = new String(chars);
int len = s.length(); // len 的值为 3
2. charAt(int index) 方法用于获取指定索引处的字符。
示例:
char ch = "abc".charAt(1); // 返回 'b'
3. getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 方法用于将字符串的一部分复制到字符数组中。
示例:
String s = "this is a demo of the getChars method.";
char buf[] = new char[20];
s.getChars(10, 14, buf, 0); // buf 的值为 "demo"
4. getBytes() 方法用于将字符串转换为字节数组。
5. toCharArray() 方法用于将字符串转换为字符数组。
6. equals(String anotherString) 和 equalsIgnoreCase(String anotherString) 方法用于比较两个字符串是否相等,后者忽略大小写。
7. regionMatches(int toffset, String other, int ooffset, int len) 方法用于比较两个字符串中特定区域是否相等,还有一个重载版本允许忽略大小写。
8. startsWith(String prefix) 和 endsWith(String suffix) 方法用于判断字符串是否以指定前缀或后缀开头或结尾。
9. equals() 方法和 == 运算符的区别:
equals() 方法比较字符串的内容是否相同,而 == 运算符比较两个对象是否引用同一个实例。
示例:
String s1 = "Hello";
String s2 = new String(s1);
s1.equals(s2); // true
s1 == s2; // false
10. compareTo(String anotherString) 和 compareToIgnoreCase(String str) 方法用于比较两个字符串的字典顺序,后者忽略大小写。
11. indexOf(int ch) 和 lastIndexOf(int ch) 方法用于查找字符或子串在字符串中首次或最后一次出现的位置。
12. substring(int beginIndex) 和 substring(int beginIndex, int endIndex) 方法用于截取字符串的一部分。
13. concat(String str) 方法用于连接两个字符串。
14. replace(char oldChar, char newChar) 和 replace(CharSequence target, CharSequence replacement) 方法用于替换字符串中的字符或子串。
示例:
String s = "Hello".replace('l', 'w'); // s 的值为 "Hewwo"
String t = "Hello World".replace("World", "Java"); // t 的值为 "Hello Java"
15. trim() 方法用于去掉字符串首尾的空白字符。
16. valueOf() 方法用于将其他类型的数据转换为字符串。
17. toLowerCase() 方法用于将字符串转换为小写。
18. toUpperCase() 方法用于将字符串转换为大写。
19. StringBuffer 类提供了多种构造函数和方法来操作字符串缓冲区。
(1) length() 和 capacity() 方法分别用于获取当前长度和最大容量。
(2) ensureCapacity(int minimumCapacity) 方法用于确保缓冲区的最小容量。
(3) setLength(int newLength) 方法用于设置缓冲区的长度。
(4) charAt(int index) 和 setCharAt(int index, char ch) 方法用于获取和设置指定索引处的字符。
(5) getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 方法用于将字符串的一部分复制到字符数组中。
(6) append() 方法用于将任何类型的数据追加到 StringBuffer 对象的末尾。
示例:
int a = 42;
StringBuffer sb = new StringBuffer(40);
String s = sb.append("a=").append(a).append("!").toString(); // s 的值为 "a=42!"
(7) insert(int offset, String str) 方法用于在指定位置插入字符串。
(8) reverse() 方法用于反转 StringBuffer 对象中的字符。
(9) delete(int start, int end) 和 deleteCharAt(int index) 方法用于删除指定范围内的字符。
(10) replace(int start, int end, String str) 方法用于替换指定范围内的字符。
(11) substring(int start) 和 substring(int start, int end) 方法用于截取子串。
(12) 对于正反斜杠的处理,需要特别注意转义字符的使用。
Java 中的 split() 方法用于按指定字符或正则表达式分割字符串,并返回一个字符串数组。
示例:
String str = "1234@abc";
String[] a = str.split("@");
System.out.println("处理结果: " + a[0] + "," + a[1]); // 输出: 处理结果: 1234,abc
对于某些特殊字符,如 |, +, *, ?, ., \, (, ), [, ], {, }, ^, $, / 等,需要进行转义才能正确使用。
示例:
String str = "5678|XYZ";
String[] b = str.split("\\|");
System.out.println("处理结果: " + b[0] + "," + b[1]); // 输出: 处理结果: 5678,XYZ
如果不进行转义,可能会导致意外的结果。
示例:
String str = "5678|XYZ";
String[] b = str.split("|");
String x = "处理结果: ";
for (int i = 0; i x = x + b[i] + ",";
}
System.out.println(x); // 输出: 处理结果: 5,6,7,8,|,X,Y,Z,
因此,在指定分割字符时,最好避免使用正则表达式中的特殊字符。