Java数据类型教程 - Java字符串搜索
我们可以使用indexOf()和lastIndexOf()方法获取另一个字符串中的字符或字符串的索引。例如
public class Main {public static void main(String[] args) {String str = new String("Apple");int index = str.indexOf("p"); // index will have a value of 1System.out.println(index);index = str.indexOf("pl"); // index will have a value of 2System.out.println(index);index = str.lastIndexOf("p"); // index will have a value of 2System.out.println(index);index = str.lastIndexOf("pl"); // index will have a value of 2System.out.println(index);index = str.indexOf("k"); // index will have a value of -1System.out.println(index);} }
上面的代码生成以下结果。
indexOf()方法从字符串的开头开始搜索字符或字符串,并返回第一个匹配的索引。
lastIndexOf()方法从末尾匹配字符或字符串,并返回第一个匹配的索引。
如果在字符串中没有找到字符或字符串,这些方法返回-1。
匹配字符串的开始和结束
startsWith()检查字符串是否以指定的参数开头,而endsWith()检查字符串是否以指定的字符串参数结尾。
两个方法都返回一个布尔值。
public class Main {public static void main(String[] args) {String str = "This is a test";// Test str, if it starts with "This"if (str.startsWith("This")) {System.out.println("String starts with This");} else {System.out.println("String does not start with This");}// Test str, if it ends with "program"if (str.endsWith("program")) {System.out.println("String ends with program");} else {System.out.println("String does not end with program");}} }
上面的代码生成以下结果。
Java数据类型教程 - Java子字符串
获取子字符串
我们可以使用substring()方法来获取字符串的子部分。
我们可以将开始索引作为参数,并返回一个从开始索引开始到字符串结尾的子串。
我们还可以将开始索引和结束索引作为参数。
它返回从开始索引开始的子字符串和小于结束索引的一个子字符串。
例如,
String s1 = "Hello".substring(1); // s1 has "ello" String s2 = "Hello".substring(1, 4); // s2 has "ell"
分割字符串
使用split()方法将字符串拆分为多个字符串。
使用分隔符执行分割。
split()方法返回一个String数组。
public class Main {public static void main(String[] args) {String str = "A,B,C,D";// Split str using a comma as the delimiterString[] parts = str.split(",");// Print the the string and its partsSystem.out.println(str);for (String part : parts) {System.out.println(part);}} }
上面的代码生成以下结果。
加入字符串
static join()方法将多个字符串连接到一个字符串中。它是重载的。
String join(CharSequence delimiter, CharSequence... elements) String join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
第一个版本采用分隔符和要连接的字符串序列。
第二个版本采用分隔符和Iterable,例如List或Set。
以下代码使用第一个版本来连接一些字符串:
String str = String.join(",", "A", "F", "N", "C", "A"); System.out.println(str);
Java数据类型教程 - Java子字符串
获取子字符串
我们可以使用substring()方法来获取字符串的子部分。
我们可以将开始索引作为参数,并返回一个从开始索引开始到字符串结尾的子串。
我们还可以将开始索引和结束索引作为参数。
它返回从开始索引开始的子字符串和小于结束索引的一个子字符串。
例如,
String s1 = "Hello".substring(1); // s1 has "ello" String s2 = "Hello".substring(1, 4); // s2 has "ell"
分割字符串
使用split()方法将字符串拆分为多个字符串。
使用分隔符执行分割。
split()方法返回一个String数组。
public class Main {public static void main(String[] args) {String str = "A,B,C,D";// Split str using a comma as the delimiterString[] parts = str.split(",");// Print the the string and its partsSystem.out.println(str);for (String part : parts) {System.out.println(part);}} }
上面的代码生成以下结果。
加入字符串
static join()方法将多个字符串连接到一个字符串中。它是重载的。
String join(CharSequence delimiter, CharSequence... elements) String join(CharSequence delimiter, Iterable<? extends CharSequence> elements)
第一个版本采用分隔符和要连接的字符串序列。
第二个版本采用分隔符和Iterable,例如List或Set。
以下代码使用第一个版本来连接一些字符串:
String str = String.join(",", "A", "F", "N", "C", "A"); System.out.println(str);