java 如何分离.
分离字符串中的点(.)
在Java中分离字符串中的点(.)可以通过多种方式实现,具体取决于需求。以下是几种常见的方法:
使用String.split()方法
通过split()方法按点分割字符串,需要注意点(.)是正则表达式中的特殊字符,需转义:
String str = "example.com";
String[] parts = str.split("\\.");
for (String part : parts) {
System.out.println(part);
}
使用StringTokenizer
StringTokenizer可以按指定分隔符拆分字符串:

String str = "example.com";
StringTokenizer tokenizer = new StringTokenizer(str, ".");
while (tokenizer.hasMoreTokens()) {
System.out.println(tokenizer.nextToken());
}
使用Pattern和Matcher
通过正则表达式匹配非点字符:
String str = "example.com";
Pattern pattern = Pattern.compile("[^.]+");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
System.out.println(matcher.group());
}
分离文件名和扩展名
如果需要从文件名中分离名称和扩展名,可以使用以下方法:

使用String.lastIndexOf()和substring()
String filename = "file.txt";
int dotIndex = filename.lastIndexOf('.');
String name = filename.substring(0, dotIndex);
String extension = filename.substring(dotIndex + 1);
System.out.println("Name: " + name);
System.out.println("Extension: " + extension);
使用Path类(Java NIO)
Path类提供了更简洁的方式处理文件名:
import java.nio.file.Path;
import java.nio.file.Paths;
Path path = Paths.get("file.txt");
String name = path.getFileName().toString();
String extension = name.substring(name.lastIndexOf('.') + 1);
System.out.println("Extension: " + extension);
分离IP地址中的点
对于IP地址(如192.168.1.1),可以按点分割:
String ip = "192.168.1.1";
String[] octets = ip.split("\\.");
for (String octet : octets) {
System.out.println(octet);
}
注意事项
- 使用
split()时,点(.)需转义为\\.,否则会匹配任意字符。 - 处理文件名时需检查是否存在扩展名,避免
lastIndexOf('.')返回-1。 - 对于空字符串或连续点的情况,需额外处理边界条件。






