拆分所有字母和所有数字的字符串

时间:2011-07-11 12:39:05

标签: java string

我有一个List,我想将前两个字符(字母字符)分成不同的字符串,然后是所有后面的数字(它们的长度不同)。 我怎么能这样做?

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

非常感谢你!

6 个答案:

答案 0 :(得分:3)

已测试且有效

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;
    }
}

使用这种方法,Az部分和0-9部分的大小可能不同,但考虑到charAt(...)char的每个String正在调用{{1}},它可能不是很有效

希望这有帮助。

答案 1 :(得分:1)

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

必须参加

答案 2 :(得分:1)

如果格式相同,则已提供答案。但是,如果格式不同,则可以将字符串转换为char数组,并根据ASCII值检查每个字符,以检查它是字母还是数字。

char[] ch=wholestring.toCharArray();

现在您可以应用for循环来单独检查每个字符。

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

您可以使用StringBuilder将不同字符串中的两种类型分开,或者形成两个char数组,然后使用

将它们转换为字符串
String.valueOf(chArray);

ASCII值 - http://www.asciitable.com/

答案 3 :(得分:0)

尝试使用字符串的子字符串方法。

示例:

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

答案 4 :(得分:0)

如果格式始终相同,您可以这样做:

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

答案 5 :(得分:0)

推荐字符串API。您需要使用子字符串操作。