我有一個字符串變量,定義如下:從字符串得到整數和字符串,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