您的位置:

Java字符串截取全方位解析

一、substring()方法

Java中字符串截取最基础的方法就是使用substring()方法。该方法有两个参数,分别为起始索引和结束索引。可以通过指定索引的范围来截取字符串。

//从索引为2的位置开始截取到字符串末尾
String str1 = "Hello World";
String result1 = str1.substring(2); //result1为"llo World"
	
//从索引为2的位置开始截取到索引为5的位置
String str2 = "Hello World";
String result2 = str2.substring(2, 5); //result2为"llo"

特别注意:在使用substring()方法时,如果指定的索引超出字符串的长度范围,会抛出StringIndexOutOfBoundsException异常。

二、split()方法

split()方法可以按照指定的符号将字符串分割成多个子串,并将这些子串保存在一个数组中。可以通过数组下标来获取每一个子串,其中第一个子串的下标为0。

String str = "Hello,World,Java";
String[] arr = str.split(","); //arr为["Hello", "World", "Java"]

特别注意:在使用split()方法时,如果指定的符号在字符串中不存在,将返回一个只包含原字符串的数组。

三、replace()方法

replace()方法可以将目标字符串中指定的字符串替换成另一个字符串。可以在替换前判断目标字符串中是否存在指定的字符串。

String str = "Hello Java";
if (str.contains("Java")) {
    str = str.replace("Java", "World"); //str为"Hello World"
}

特别注意:在使用replace()方法时,如果目标字符串中不存在要替换的字符串,将返回原字符串。

四、截取XML标签中的内容

在处理XML格式的字符串时,经常需要截取标签中的内容。可以使用indexOf()方法和substring()方法来实现该功能。

String xmlStr = "
   Tom
   
   18
   
  ";
String startTag = "";
String endTag = "
  ";
int startIndex = xmlStr.indexOf(startTag) + startTag.length();
int endIndex = xmlStr.indexOf(endTag, startIndex);
String result = xmlStr.substring(startIndex, endIndex); //result为"Tom"

特别注意:在使用截取XML标签中的内容时,需要注意起始位置和结束位置的索引。

五、使用正则表达式截取

在字符串中使用正则表达式进行匹配和截取可以更加灵活地处理字符串。可以使用Pattern和Matcher两个类来实现正则表达式的使用。

String str = "Java is a programming language.";
Pattern pattern = Pattern.compile("\\bis\\b"); //以单词"is"为分界线
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
    String result = matcher.group(); //result为"is"
}

特别注意:在使用正则表达式截取字符串时,需要正确编写正则表达式,并合理使用Pattern和Matcher类。