我有一個字符串'123'(是的,它是我的程序中的一個字符串)。任何人都可以解釋,當我用這個方法:java split()方法
String[] str1Array = str2.split(" ");
爲什麼我str1Array[0]='123'
而非str1Array[0]=1
?
我有一個字符串'123'(是的,它是我的程序中的一個字符串)。任何人都可以解釋,當我用這個方法:java split()方法
String[] str1Array = str2.split(" ");
爲什麼我str1Array[0]='123'
而非str1Array[0]=1
?
str2
不包含任何空格,因此split
拷貝str2
的全部內容的str1Array
第一索引。
你必須做的:
String str2 = "1 2 3";
String[] str1Array = str2.split(" ");
另外,爲了找到在str2中的每一個字符,你可以這樣做:
for (char ch : str2.toCharArray()){
System.out.println(ch);
}
你也可以把它分配給在循環數組。
因爲您的String
中沒有空格。 如果你想單字符,嘗試char[] characters = str2.toCharArray()
簡單......你試圖通過空間和您的字符串分割字符串「123」,沒有空間
你知道,String [] str1Array = str2.split(「」);它也行不通( – Leo 2013-02-19 11:26:29
傳遞給split()的正則表達式應該在字符串中有一個匹配項,以便它將在字符串中找到匹配項的位置拆分字符串。這裏你傳遞的是「123」中找不到的「」,因此沒有發生分裂。
這是因爲split()
方法字面上根據作爲參數給出的字符分割字符串。
我們每次找到拆分字符都會刪除拆分字符並形成一個新的字符串。
String[] strs = "123".split(" ");
的字符串"123"
不具有字符" "
(空間),因此不能被分開。所以返回只是數組中的單個項目 - { "123" }
。
做了 「拆分」 你必須使用一個分隔符,在這種情況下,插入一個 「」 每個號碼之間
public static void main(String[] args) {
String[] list = "123456".replaceAll("(\\d)", ",$1").substring(1)
.split(",");
for (String string : list) {
System.out.println(string);
}
}
試試這個:
字符串str = 「123」; String res = str。分裂(」」);
將返回以下結果:
1,2,3
簡單的問題。淹沒答案:P – LGAP 2013-02-19 11:26:18
每個人都想要蛋糕上的櫻桃:P – SudoRahul 2013-02-19 11:26:52
如果下面的答案都不起作用,那麼您的程序中可能有一個不是「123」的字符串。在這裏和那裏你可能會忽略一些空間。 – Sanchit 2013-02-19 11:42:54