Извлечение символов и целых чисел из строки - PullRequest
0 голосов
/ 02 сентября 2011

У меня есть эта строка p = "V755D888B154", и я хочу разделить ее, чтобы иметь эту форму

  • V
  • 755
  • D
  • 888
  • B
  • 154

Как я могу это сделать?заранее спасибо

Ответы [ 3 ]

1 голос
/ 02 сентября 2011

Вы можете использовать String.split .Пример:

String[] numbers = p.split("[a-zA-Z]+");
String[] letters = p.split("[0-9]+");

numbers или letters может содержать пустую строку, но вы можете проверить ее вручную.

0 голосов
/ 02 сентября 2011

В своем комментарии вы говорите, что буквы являются фиксированными, поэтому, если вы просто пытаетесь вытянуть цифры, вы всегда можете сделать что-то подобное. Я оставлю это на ваше усмотрение, если вы думаете, что это клуге.

String p="V755D888B154";

Integer vPart = Integer.valueOf(p.substring(1,4));
Integer dPart = Integer.valueOf(p.substring(5,8));
Integer bPart = Integer.valueOf(p.substring(9,12));

System.out.println(bPart);
0 голосов
/ 02 сентября 2011

Если ваша строка содержит только цифры и строки, этот фрагмент работает

    String string = "V755D888B154";
    Pattern p = Pattern.compile("\\d+|\\D+");
    Matcher matcher = p.matcher(string);
    while(matcher.find()) {
        Integer i = null;
        String s = null;
        try {
            i = Integer.parseInt(matcher.group());
        }
        catch (NumberFormatException nfe) {
            s = matcher.group();
        }
        if (i != null) System.out.println("NUMBER: " + i);
        if (s != null) System.out.println("STRING: " + s);
    }

основной сбой - проверка, содержит ли данная строка (matcher.group ()) целое число или нет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...