2015-05-27 71 views
-2

我有一個字符串變量,定義如下:從字符串得到整數和字符串,java

String str= "245 Hello world";

有沒有辦法將此字符串拆分爲整數a=245和字符串b="Hello world"

未定義數字和文本之間的現有空格。確定的是我總是有一個整數,然後是文本。

+0

肯定。使用正則表達式。 – Marged

+2

「未定義」是什麼意思?它可以是「123Hello」嗎? – folkol

+0

你是對的。白色空間必須是一個或多個。我將編輯該問題。 – mark4rd

回答

6

如何:

Scanner sc = new Scanner("245 Hello world"); 
int i = sc.nextInt(); 
String s = sc.nextLine().trim(); 
0

您可以使用拆分():

Integer a = Integer.parseInt(str.split(" ", 2)[0]); 
    String b = str.split(" ", 2)[1].trim(); 
-1

你可以做Str.substring(0,3),以獲得數量和str.substring(4, str.length() - 3)獲取其餘並修剪它。 其他解決方案使用str.split(「」)將字符串分成三部分,第一部分是您連接以獲取消息的其餘部分的編號。

1

使用正則表達式的數字分開:

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