#java #xml
#java #xml
Вопрос:
//abc:def/m1/m/123/test
Я извлекаю путь из XML-файла.
Я хочу обрезать символы "/test"
(удалить эти символы из path). пробовал с lastIndexOf(".") and trim().
невозможностью обрезать символы.
Комментарии:
1. сообщите нам результат, который вы ожидаете?
2. я ожидаю вывода // abc:def/m1 / m/ 123
Ответ №1:
если вы хотите _remove /text
, вы можете попробовать
String path="//abc:def/m1/m/123/test";
path = path.substring(0,path.lastIndexOf("/"));
System.out.println(path);
Вывод:
//abc:def/m1/m/123
Комментарии:
1. simpleXpath=arrSimpleXpath.get(i).toString(); simpleXpath=simpleXpath.substring(0, simpleXpath.lastIndexOf(«/»)); я пытался получить путь из xml через simpleXpath, но не работает…
2. @user3769879 вы уверены, что значение
simpleXpath
равно//abc:def/m1/m/123/test
?3. какое значение вы получили после
substring
? это все то же самое?4. да, это все то же самое, это не удаление / проверка после substring и lastindexof
5. вы действительно уверены
//abc:def/m1/m/123/test
, что это не//abc:def/m1/m/123/test/
так? если да, то вы можете попробовать решение @ TAsk ниже.
Ответ №2:
Вы можете использовать substring
и indexOf
, поскольку вы конкретно хотите удалить String
из /test
String str="//abc:def/m1/m/123/test";
System.out.println(str.substring(0, str.indexOf("/test")));
ПРИМЕЧАНИЕ
Если у вас есть String
что-то подобное //abc:def/m1/m/123/test/other/extra
, оно также будет удалено String
после /test
. Итак, если вы хотите удалить последний элемент пути, я предлагаю вам пойти lastIndexOf('/')
.
(Как Immer Allein
уже предлагалось)
Если вы хотите удалить /test
, вы также можете сделать это так, если у вас есть больше элементов в пути после /test
. (т.е. //abc:def/m1/m/123/test/other/extra
)
StringBuilder sb=new StringBuilder();
sb.append(str.substring(0, str.indexOf("/test")));
sb.append(str.substring(str.indexOf("/test") 5));
System.out.println(sb);
ВЫВОД
//abc:def/m1/m/123/other/extra
Ответ №3:
попробуйте это,
String s = new String("//abc:def/m1/m/123/test" );
System.out.println("" s.substring(0,s.lastIndexOf("/")));