将包含数字和字符的字符串拆分为int和String

时间:2017-10-13 01:46:57

标签: java

我有一个字符串" Peyton Manning; 49&#34 ;.有没有办法让计算机读取字符串的左侧并使其等于一个新字符串" Peyton Manning"并取String的右侧,使其等于值为49的int?

2 个答案:

答案 0 :(得分:0)

可以想到许多方法:您可以使用标记或使用正则表达式。您没有指定空白填充。此外,您没有指定分隔符周围的字符串段是否为无效整数,混合字符串数字等。如果这对您有帮助,请相应标记。

    public class Test {
        public static void main(String[] args) {
        String s="Blah; 99";

        StringTokenizer st = new StringTokenizer(s, ";");
        String name = st.nextToken();
        Integer number = Integer.parseInt(st.nextToken().trim());
        System.out.println(name.trim() + "---" + number);

        number = Integer.parseInt(s.replaceAll("[^0-9]", ""));
        name = s.replaceAll("[^A-Za-z]", "");
        System.out.println(name + "---" + number);

        int split = s.indexOf(";");
        name = s.substring(0, split);
        number = Integer.parseInt(s.substring(split+2, s.length()));
        System.out.println(name + "---" + number);
    }
}

答案 1 :(得分:-1)

最简单的方法是:

String text = input.replaceAll(" *\\d*", "");
int number = Integer.parseInt(input.replaceAll("\\D", ""));

请参阅KISS principle