我有一个字符串变量,定义如下:从字符串得到整数和字符串,java
String str= "245 Hello world";
。
有没有办法将此字符串拆分为整数a=245
和字符串b="Hello world"
?
未定义数字和文本之间的现有空格。确定的是我总是有一个整数,然后是文本。
我有一个字符串变量,定义如下:从字符串得到整数和字符串,java
String str= "245 Hello world";
。
有没有办法将此字符串拆分为整数a=245
和字符串b="Hello world"
?
未定义数字和文本之间的现有空格。确定的是我总是有一个整数,然后是文本。
如何:
Scanner sc = new Scanner("245 Hello world");
int i = sc.nextInt();
String s = sc.nextLine().trim();
您可以使用拆分():
Integer a = Integer.parseInt(str.split(" ", 2)[0]);
String b = str.split(" ", 2)[1].trim();
你可以做Str.substring(0,3),以获得数量和str.substring(4, str.length() - 3)获取其余并修剪它。 其他解决方案使用str.split(“”)将字符串分成三部分,第一部分是您连接以获取消息的其余部分的编号。
使用正则表达式的数字分开:
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);
肯定。使用正则表达式。 – Marged
“未定义”是什么意思?它可以是“123Hello”吗? – folkol
你是对的。白色空间必须是一个或多个。我将编辑该问题。 – mark4rd