Вырезать строку после второго слеша слева
Я хочу запрограммировать плагин в Eclipse. Теперь я вернул строку с путем из выбранного проекта:
C:/Users/mbauer/abcde/efghj/klmno...
Теперь я хотел бы вырезать строку в подстроке следующим образом:
C:/Users/mbauer/
Строка должна быть вырезана после 3-го слеша слева. Путь должен быть динамическим для других пользователей.
Я старался:
String getPath = getSelectedProjectPath(dialog);
System.out.println(getPath.substring(0, 15));
Но с IndexOf 0 и 15 путь больше не является динамическим, если пользователь с более длинным именем пробует плагин!
4 ответа
Я думаю что Path.subpath
будет делать то, что вы описываете:
System.out.println(
FileSystems.getDefault().getPath(getPath).subpath(0, 3));
Как предлагается в другом ответе, вы можете использовать Path
а также Paths
из пакета java.nio.file.
Вот еще один способ использовать его:
Path path = Paths.get("C:/Users/mbauer/abcde/efghj/klmno");
System.out.println(path.subpath(0, 3).toAbsolutePath());
Такое регулярное выражение будет работать:
public static void main(String[] args) throws Exception {
String s1 = "C:/Users/mbauer/abcde/efghj/klmno";
System.out.println(s1.replaceAll("((.*?/){3}).*", "$1"));
}
O / P: C:/Users/mbauer/
Например, вы можете использовать indexOf() для поиска индекса определенных символов. Другими словами: вы действительно хотите провести предварительное исследование о том, как искать в строках; и как можно ими манипулировать. Существует множество документов, объясняющих такие вещи. Еще один продвинутый способ - использовать регулярные выражения Java, соответственно. шаблоны.
Но имейте в виду: не все пользователи Eclipse используют Windows. У вас может быть довольно много людей, использующих Mac или Linux; Таким образом, ваш нынешний подход очень скоро сломается. Таким образом, вместо выполнения строковых операций низкого уровня; Вы должны ознакомиться с такими понятиями, как Java Paths, чтобы понять абстракции, которые вы должны использовать для создания разумного плагина.
Итак, серьезно: такой вид поиска / манипуляции со строками - абсолютно базовый материал. Принимая во внимание, что создание плагинов Eclipse - действительно сложная тема. Значение: вы новичок; так что может быть лучше сделать шаг назад и просто узнать гораздо больше о языке Java; прежде чем начать писать плагины затмения. Потому что есть вероятность: учитывая ваши текущие знания, вы создадите паршивый плагин, который никто не захочет использовать.