java如何截取.
截取字符串中的点(.)或根据点分割字符串
在Java中,截取字符串中的点(.)或根据点分割字符串可以通过多种方法实现。以下是几种常见的方法:
使用split()方法分割字符串
split()方法可以根据指定的正则表达式将字符串分割成数组。点(.)在正则表达式中是特殊字符,需要使用转义字符\\进行转义。
String str = "example.com";
String[] parts = str.split("\\.");
// parts[0] 为 "example"
// parts[1] 为 "com"
使用substring()方法截取部分字符串
如果需要截取点之前或之后的部分,可以使用substring()方法结合indexOf()方法。
String str = "example.com";
int dotIndex = str.indexOf(".");
String beforeDot = str.substring(0, dotIndex); // "example"
String afterDot = str.substring(dotIndex + 1); // "com"
使用lastIndexOf()处理多个点的情况
如果字符串中有多个点,可以使用lastIndexOf()方法获取最后一个点的位置。
String str = "example.test.com";
int lastDotIndex = str.lastIndexOf(".");
String lastPart = str.substring(lastDotIndex + 1); // "com"
使用正则表达式匹配点
如果需要更复杂的匹配,可以使用正则表达式和Pattern、Matcher类。
import java.util.regex.*;
String str = "example.com";
Pattern pattern = Pattern.compile("\\.");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
System.out.println("Found dot at index: " + matcher.start());
}
使用StringTokenizer分割字符串
StringTokenizer是一个遗留类,但也可以用于简单的字符串分割。

import java.util.StringTokenizer;
String str = "example.com";
StringTokenizer tokenizer = new StringTokenizer(str, ".");
while (tokenizer.hasMoreTokens()) {
System.out.println(tokenizer.nextToken());
}
注意事项
- 使用
split()方法时,点(.)需要转义为\\.,因为点在正则表达式中表示任意字符。 - 如果字符串中没有点,
indexOf()方法会返回-1,使用substring()时需要注意处理这种情况。 - 对于复杂的字符串操作,正则表达式通常更灵活。






