У меня есть эта строкаRegular Expression
Английский> Искусство> Фотография
Хотите регулярное выражение, чтобы удалить все после последнего (>), хотят выход быть как этот
английский> Искусство>
Большое спасибо,
У меня есть эта строкаRegular Expression
Английский> Искусство> Фотография
Хотите регулярное выражение, чтобы удалить все после последнего (>), хотят выход быть как этот
английский> Искусство>
Большое спасибо,
String.lastIndexOf()
вместо String.indexOf()
. нет необходимости идти на регулярные выражения для этого
спасибо за помощь – user3035802
Использования LastIndexOf, как указано ниже:
Substring(0, [YourString].LastIndexOf('>'));
Большое спасибо за помощь – user3035802
не забудьте поднять и пометить его как ответ, если это будет полезно. так что другие пользователи могут использовать одно и то же решение. :) – SpiderCode
Вы можете использовать substring и lastIndexOf, как показано ниже:
String s = "English>Arts>Photography";
System.out.println(s.substring(0,s.lastIndexOf('>')));
Очень спасибо – user3035802
Если вы действительно не хотите использовать .lastIndexOf() (я не знаю, почему вы этого не сделали). Регулярное выражение было бы:
String input = "English>Arts>Photography";
Pattern p = Pattern.compile("(.*>)[A-Za-z]+");
Matcher m = p.mathcer(input);
if (m.matches()) {
String output = m.group(1);
}
Большое спасибо за вас, но есть простое редактирование в регулярном выражении, которое вы должны добавить (+) в конце регулярного выражения, чтобы соответствовать более чем одному символу, это должно быть как .compile ("(. * >) [A-Za-Z] + "); снова очень спасибо за вашу помощь. – user3035802
gah, хорошее место. Не удосужился проверить его локально, поскольку проблема уже решена! – M21B8
У U пробовал что-нибудь ?? – TheLostMind
Я пробовал подстроку (0, str.indexOf (">")), но она удаляет все после первого (>), но я хочу удалить после последнего не первого. – user3035802
раскол на основе ">" добавить arr [0] + ">" + arr [1] .. – TheLostMind