繁体   English   中英

将具有数字和字符的字符串拆分为int和String

[英]Splitting a string that has numbers and characters into an int and String

我有一个字符串“ Peyton Manning; 49”。 有没有一种方法可以让计算机读取字符串的左侧并使其等于新的字符串“ Peyton Manning”,并获取字符串的右侧并使其等于值为49的int?

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

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

最简单的方法是:

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

参见KISS原理

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM