Вы не можете сделать это с split()
способ. Он будет только разделять строку на куски, она не будет отфильтровывать отдельные группы. Вместо этого, вы можете использовать Pattern
и Matcher
классы
final String input = "<position x=\"1\" y=\"2\" z=\"3\" />";
final String regex = "<position\\sx=\"([0-9]+)\"\\sy=\"([0-9]+)\"\\sz=\"([0-9]+)\"\\s\\/>";
final Pattern pattern = Pattern.compile(regex);
final Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
final String x = matcher.group(1);
final String y = matcher.group(2);
final String z = matcher.group(3);
System.out.println(x + " " + y + " " + z);
}
Однако, если вы планируете на разборе XML, я бы высоко предлагают с помощью XML-парсер вместо этого.
Какая у вас строка ввода? Каков ожидаемый результат? Каков результат, который вы получаете? Просьба уточнить. – pathfinderelite
Вы становитесь теплее. Однако, пожалуйста, задайте вопрос. Раздел комментариев предназначен для того, чтобы пользователи запрашивали разъяснения. В качестве части вопроса должны быть добавлены сами разъяснения. Благодарю. – pathfinderelite