Разбить строку на все буквы и цифры - PullRequest
0 голосов
/ 11 июля 2011

У меня есть список, и я хотел бы разбить первые два символа (буквенные символы) на другую строку, а затем все последующие числа (они различаются по длине).Как я могу это сделать?

String wholeString == "AB4578";
String alpha; // this has to be AB
String num; // this has to be 4578

Большое спасибо заранее!

Ответы [ 6 ]

3 голосов
/ 11 июля 2011

проверено и работает :

String wholeString = "AB4578";
String alpha = null;
String num = null;

for (int i = 0; i < wholeString.length(); i++) {
    if (wholeString.charAt(i) < 65) {
        alpha = wholeString.substring(0, i);
        num = wholeString.substring(i);
        break;
    }
}

При таком подходе как части A-z, так и части 0-9 могут различаться по размеру, это может быть не очень эффективным, хотя, учитывая, что он вызывает charAt(...) для каждого char в String.

Надеюсь, это поможет.

1 голос
/ 11 июля 2011

Если формат такой же, то ответ уже предоставлен. Но если формат не совпадает с форматом, вы можете преобразовать строку в массив символов и сравнить каждый символ со значениями ASCII, чтобы проверить, является ли это алфавитом или числом.

char[] ch=wholestring.toCharArray();

Теперь вы можете применить цикл for для проверки каждого символа в отдельности.

for(int l=0; l<ch.length;l++)
{
//code to check the characters
}

И вы можете разделить оба типа в разных строках, используя StringBuilder или сформировав два массива символов, а затем преобразовав их в строки, используя

String.valueOf(chArray);

значения ASCII - http://www.asciitable.com/

1 голос
/ 11 июля 2011
String wholeString = "AB4578";
String alpha = wholeString.substring(0,2);
String num = wholeString.substring(2);

Обязательно

0 голосов
/ 11 июля 2011

Рекомендованная строка API . Вам нужно будет использовать операции с подстрокой.

0 голосов
/ 11 июля 2011

Если формат всегда один и тот же, вы можете просто сделать это:

String wholeString = "AB4578";
String alpha = wholeString.substring(0, 2);
String num = wholeString.substring(2);
0 голосов
/ 11 июля 2011

Попробуйте использовать метод подстроки для строк.

Пример:

String alpha = wholeString.substring(0,2);
String num   = wholeString.substring(2);

http://download.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#substring%28int%29

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