让我们有这个字符串,例如:
"C:\Users\User\workspace\Iterator\src\Iterate_Choose.java"
"C:\Users\User\workspace\Iterator\src\testing.java"
如何在 src\ 之后和 .java 之前获取字符串。输出应该是这样的:
Iterate_choose
testing
我尝试寻找正则表达式,但找不到符合这种情况的正则表达式。
我会使用正则表达式:
String outStr = Pattern.compile(".+src\\([^.]+)\.java")
.matcher("...\src\Iterate_Choose.java")
.find() ? m.group(1)
: null;
如果不需要,请不要使用正则表达式。
String getFileName(String path) {
int lastSlashIndex = path.lastIndexOf("\\");
int dotIndex = path.indexOf(".", lastSlashIndex);
return path.substring(lastSlashIndex, dotIndex)
}
您可以使用正则表达式或查找相关部分的位置:
int pos1 = s.indexOf("src\\");
int pos2 = s.lastIndexOf(".java");
String result = s.substring(pos1 + 4, pos2);
您可以使用子字符串:
String s1 = "C:\Users\User\workspace\Iterator\src\Iterate_Choose.java";
String s = s1.substring(s1.lastIndexOf("\\"),s1.lastIndexOf("."));
是不是很简单。