#javascript #regex #filepath
#javascript #регулярное выражение #путь к файлу
Вопрос:
Существует ли регулярное выражение, которое может анализировать строку, указывающую на файл или папку (из корня, например, C:)?
Язык — Javascript.
Спасибо
Ответ №1:
Почему бы не пропустить регулярное выражение и просто использовать split?
var path = "C:\Users\Joe.Blow\Documents\Pictures\NotPr0n\testimage1.jpg"
var arrPath = path.split("\");
var filename = arrPath[arrPath.length - 1];
var drive = arrPath[0];
и т.д.
Ответ №2:
Ну, на самом деле их несколько, но это зависит от того, что именно вы хотите проанализировать. Вы хотите что-то вроде: «C:/…/…/nameOfFile.extension «? Или без имени файла? Можете ли вы более конкретно рассказать о проблеме? Какие входные данные?
Я создал этот код, действительно простой, который для заданного пути дает вам путь без корня.
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class TestProgram {
static String path = "C:\Folder1\Folder2\file.extension";
private static void parsePath() {
String newPath = "";
String root = "C:";
Matcher regexMatcher;
regexMatcher = Pattern.compile("\\").matcher(path);
newPath = regexMatcher.replaceAll("/");
regexMatcher = Pattern.compile(root).matcher(newPath);
newPath = regexMatcher.replaceAll("");
System.out.println(newPath);
}
public static void main(String[] args) {
parsePath();
}
}
Вывод такой:
/ Folder1 /Folder2/file.extension
Я не знаю, это ли то, чего вы хотите, но вам просто нужно поиграть с методами. В конечном итоге вы достигнете решения.