получение части числовой строки - PullRequest
0 голосов
/ 17 марта 2011

Допустим, у меня есть числовая строка "1234567890", и из этого я хочу получить первые 3 цифры из числовой строки "123".все, на что я смотрел, нуждается в каком-то шаблоне для разбиения строки, но число может быть любым числом, поэтому не будет никакого шаблона, но мне нужны первые 3 цифры номера.

Ответы [ 7 ]

2 голосов
/ 17 марта 2011

Вам нужен метод substring для String.Подробнее см. http://download.oracle.com/javase/6/docs/api/java/lang/String.html#substring%28int,%20int%29.

0 голосов
/ 17 марта 2011

Если вы имеете в виду, что вам нужно взять первое число из строки и получить первые 3 символа, вы можете сделать это:

public class NumberFinder {

    public int findNumber(String string) throws NumberFormatException{
        String regex = "\\d+"; //matches one or more digits
        Pattern myPattern = Pattern.compile(regex);
        Matcher myMatcher = myPattern.matcher(string);
        String numString = new String();
        while (myMatcher.find()) {
            numString = myMatcher.group(); //returns whole match
        }
        String numSub = numString.length() >= 3 ? numString.substring(0, 3).toString() : "Not Enough Numbers";
        System.out.println(string);
        System.out.println(numString);
        System.out.println(numSub);
        return Integer.parseInt(numSub);
    }
}

    public static void main(String[] args) {
        String string = "ABCD1242DBG";
        try {
            new NumberFinder().findNumber(string);
        } catch (NumberFormatException e) {
            System.out.println("Not enough numbers in " + string);
        }
    }
0 голосов
/ 17 марта 2011

Если строка содержит число, как в вашем примере, вы можете просто использовать метод substring :

String number = "12345678";
String firstThreeDigits = number.substring(0, 3);
0 голосов
/ 17 марта 2011

"1234567890".substring(0, 3); - это то, что вам нужно.Этот метод возвращает строку, которая начинается с 0-го индекса вашего ввода и заканчивается в индексе 3.

0 голосов
/ 17 марта 2011
String myFirstThreeDigitsAsStr = String.valueOf(mynumber).substring(0,3)
0 голосов
/ 17 марта 2011

Похоже, вы могли бы просто использовать подстроку:

number.substring(0, 3);
0 голосов
/ 17 марта 2011
String firstThreeDigits = number.substring(0, 3);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...