我有一个字符串" Peyton Manning; 49&#34 ;.有没有办法让计算机读取字符串的左侧并使其等于一个新字符串" Peyton Manning"并取String的右侧,使其等于值为49的int?
答案 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。