我有一个String变量,定义如下:
String str= "245 Hello world";
。
有没有办法将此字符串拆分为整数a=245
和字符串b="Hello world"
?
未定义数字和文本之间的现有空格。可以肯定的是,我总是有一个整数后跟一个文本。
答案 0 :(得分:6)
怎么样:
Scanner sc = new Scanner("245 Hello world");
int i = sc.nextInt();
String s = sc.nextLine().trim();
答案 1 :(得分:1)
使用RegEx分隔数字:
String str= "245 Hello world";
Pattern pat = Pattern.compile("/(\d+)/g");
Matcher mat = pat.matcher(str);
String num;
if(mat.find()){
num = mat.group(1);
}
str.replace(num, "");
和parseint得到一个整数:
int x = Integer.parseint(num);
答案 2 :(得分:0)
您可以使用split():
Integer a = Integer.parseInt(str.split(" ", 2)[0]);
String b = str.split(" ", 2)[1].trim();
答案 3 :(得分:-1)
你可以用Str.substring(0,3)来获取数字和str.substring(4,str.length() - 3)来得到其余的并修剪它。 其他解决方案是使用str.split("")将字符串拆分为3个部分,第一个是你连接以获取消息的其余数字。