Мне нужно получить значение из пути к файлу.предположим, что мой путь похож на любой другой путь:
c:\SomeFolder\SomeOtherfolder\A_Specific_Folder\what_i_want\another_folder\bla.txt
Я могу вывести имя 'A_Specific_Folder' во время выполнения, и мне нужно получить 'what_i_want'.Я знаю, что what_i_want - это число
. В настоящее время я использую регулярное выражение, подобное этому:
public String getValueThatIneed(String path) {
String regex = String.format("%s\\\\([0-9]+)\\\\", varContainingNameOfSpecificFolder);
Pattern p = Pattern.compile(regex);
Matcher matcher = compile.matcher(path);
matcher.find(); \\because otherwise i can't use matcher.start()
String myValue = path.substring(matcher.start(1), matcher.end(1));
return myValue;
}
Все это только для того, чтобы получить это tinyValue из одной строки.Теперь предположим, что я должен иметь это в методе, потому что я использую его в 10 местах.Но в одном из мест мне внезапно нужно сделать какую-то другую операцию с перемешиванием, которая снова потребовала бы от меня выполнения всей работы по скороговорке и сопоставлению с одним и тем же регулярным выражением, просто чтобы получить matcher.end (1), потому что, возможно, это всеМне нужно там.
Есть ли более короткий способ сделать это?
спасибо.