发布时间:2026-09-28 18:25:01 浏览次数:1
在Java中,我们可以通过String类提供的方法来截取字符串,将字符串拆成多个部分。本文总结了四种常见的字符串截取方式,分别是:
我们可以使用String类的substring()方法截取原字符串的一个子串,该方法有两个参数,第一个参数为起始索引(包含),第二个参数为结束索引(不包含)。例如:
String str = "Hello, World!";String subStr = str.substring(0, 5);System.out.println(subStr); // Hello输出结果为:
Hello需要注意的是,substring()方法中的起始索引和结束索引都是基于0开始计数的。
如果我们只传递一个参数,则表示从起始索引处一直截取到字符串的末尾:
String str = "Hello, World!";String subStr = str.substring(7);System.out.println(subStr); // World!输出结果为:
World!我们可以通过String类的split()方法将一个字符串按照指定的分隔符分成多个子串,该方法有一个参数,即分隔符。例如:
String str = "apple, orange, banana";String[] subStrs = str.split(", ");for (String subStr : subStrs) { System.out.println(subStr);}输出结果为:
appleorangebanana需要注意的是,在split()方法中传入的参数是一个正则表达式,如果分隔符是正则表达式的特殊字符,需要进行转义处理,否则会抛出异常。
正则表达式可以匹配一定模式的字符串,而字符串截取也可以通过正则表达式来实现。下面是一个通过正则表达式来截取字符串的例子:
String str = "Java is a good language.";Pattern pattern = pattern.compile("is (.*) language\\.");Matcher matcher = pattern.matcher(str);if (matcher.find()) { System.out.println(matcher.group(1));}输出结果为:
a good上面的正则表达式匹配了"is "和" language."之间的所有字符。
StringTokenizer类是一个Java的字符串解析器,我们可以通过它来解析一个字符串,并返回一系列的标记(Tokens)。例如:
String str = "apple, orange, banana";StringTokenizer tokenizer = new StringTokenizer(str, ", ");while (tokenizer.hasMoreTokens()) { System.out.println(tokenizer.nextToken());}输出结果为:
appleorangebanana需要注意的是,StringTokenizer会将多个连续分隔符视为一个分隔符,并忽略字符串开头和结尾的分隔符。