String字符串截取的四种方式总结
在Java中,我们可以通过String类提供的方法来截取字符串,将字符串拆成多个部分。本文总结了四种常见的字符串截取方式,分别是:
- 使用String.substring()方法
- 通过String.split()方法分割字符串
- 使用正则表达式
- 使用StringTokenizer类
1. 使用String.substring()方法
我们可以使用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!
2. 通过String.split()方法分割字符串
我们可以通过String类的split()方法将一个字符串按照指定的分隔符分成多个子串,该方法有一个参数,即分隔符。例如:
String str = "apple, orange, banana";
String[] subStrs = str.split(", ");
for (String subStr : subStrs) {
System.out.println(subStr);
}
输出结果为:
apple
orange
banana
需要注意的是,在split()方法中传入的参数是一个正则表达式,如果分隔符是正则表达式的特殊字符,需要进行转义处理,否则会抛出异常。
3. 使用正则表达式
正则表达式可以匹配一定模式的字符串,而字符串截取也可以通过正则表达式来实现。下面是一个通过正则表达式来截取字符串的例子:
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."之间的所有字符。
4. 使用StringTokenizer类
StringTokenizer类是一个Java的字符串解析器,我们可以通过它来解析一个字符串,并返回一系列的标记(Tokens)。例如:
String str = "apple, orange, banana";
StringTokenizer tokenizer = new StringTokenizer(str, ", ");
while (tokenizer.hasMoreTokens()) {
System.out.println(tokenizer.nextToken());
}
输出结果为:
apple
orange
banana
需要注意的是,StringTokenizer会将多个连续分隔符视为一个分隔符,并忽略字符串开头和结尾的分隔符。
以上就是本文介绍的四种字符串截取方式,希望能对大家有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:String字符串截取的四种方式总结 - Python技术站