从字符串中提取子字符串

时间:2014-02-12 02:50:41

标签: java eclipse

我有一个特定的字符串模式

page0001
page0002
.
.
.
pageMN23
pageMN24
.
page0100
page0101

等等

我必须删除“page”并在此之后删除零,然后从中获取页码。 并且有价值。这里它将返回整数和字符串值,例如“3”,“4”,“MN23”,MN24“。 可以使用什么来使正确的值返回并正确存储。

2 个答案:

答案 0 :(得分:2)

test = test.replace("page", "");        
int x = Integer.parseInt(test);

只需用空字符串替换所有出现的“page”,然后Integer.parseInt()负责其余部分。

答案 1 :(得分:1)

使用此:

    String test = "page0100";
    boolean flag = false;
    int pageNo;
    try {
        test = test.replaceAll("page0*", ""); //Note the meta character * after 0. It removes all zeros exists after `page` string and before any non zero digit.
        pageNo = Integer.parseInt(test);
    } catch (NumberFormatException e) {
        // If NumberNumberFormatException caught here then `test` is string
        // NOT valid integer
        flag = true;
    }
    if (flag == false) {
        // Page Number is string
        // Use `test` variable here
    } else {
        // Page Number is integer
        // Use `pageNo` variable here
    }