Java (Regex?) Разделить строку между комбинацией цифра / буква

просматривал страницы и страницы результатов Google, но покане сталкивался ни с чем, что могло бы помочь

Что я'я пытаюсь сделать, это разбить строку какBananas22Apples496Pears3и разбить его на какой-нибудь читаемый формат. посколькуString.split() я не мог сделать это, мне было интересно, если кто-нибудь может указать мне на фрагмент регулярного выражения, который мог бы сделать это

Расширение немного: приведенная выше строка будет разбита на (String[] для простоты'ради)

{"Bananas:22", "Apples:496", "Pears:3"}

Ответы на вопрос(5)

Решение Вопроса

Попробуй это

String s = "Bananas22Apples496Pears3";

String[] res = s.replaceAll("(?

Это должно делать то, что вы хотите:

import java.util.regex.*;

String d = "Bananas22Apples496Pears3"

Pattern p = Pattern.compile("[A-Za-z]+|[0-9]+");

Matcher m = p.matcher(d);

while (m.find()) {
      System.out.println(m.group());
}

// Bananas
// 22
// Apples
// 496
// Pears
// 3

Вам нужноReplace а потомsplit Строка. Вы можетесделать это только с помощью раскола1>

 Replace All строка со следующим регулярным выражением

(\\w+?)(\\d+)

и заменить его на 2>

$1:$2

 СейчасSplit это с этим регулярным выражением

(?
 Anirudha14 нояб. 2012 г., 07:59
@ Тимр, ты так не избежал"\\w+?\\d+"
 Timr14 нояб. 2012 г., 07:54
Я не совсем доволен Regex, я попробовал pattern.compile, используя этот шаблон, но я получаю "неверная escape-последовательность " ошибка.
 stema14 нояб. 2012 г., 08:13
(?
 Anirudha14 нояб. 2012 г., 08:16
@stema упс .. thxx, чтобы указать на это .. отредактировал ответ ..
 Anony-Mousse14 нояб. 2012 г., 08:06
@Timr, безусловно, поможет, если вы прочитаете примеры Java Pattern. Могу поспорить, они тоже научат тебя убегать ...
String myText = "Bananas22Apples496Pears3";
System.out.println(myText.replaceAll("([A-Za-z]+)([0-9]+)", "$1:$2,"));

замещать\d+ от:$0 а затем разделить на.(?=[a-zA-Z]+:\d+)

 Anirudha14 нояб. 2012 г., 08:03
$1 должно быть$0

Ваш ответ на вопрос