回答
"cat".split("(?!^)")
這將產生
陣列[ 「C」, 「一個」, 「T」]
如何和爲什麼?這是一個正則表達式的意思嗎?因爲在我的腦海中,用分裂的方式工作,這隻會分裂爲實際的字符(,?,!,^和)。然而,它按照你所說的那樣工作。 – TyP 2014-03-06 02:07:16
這確實是一個正則表達式,稱爲負向預測。在這裏查看文檔:http://docs.oracle.com/javase/6/docs/api/java/util/regex/Pattern.html#sum – Erwin 2014-05-28 08:51:27
@ EW-CodeMonkey'(?!'...')'是否定斷言的正則表達式語法 - 它斷言它內部沒有匹配。 '^'匹配字符串的開頭,所以正則表達式匹配每個不是*字符串開頭的位置,並在那裏插入一個分割。這個正則表達式也匹配字符串的末尾,因此除了'String.split'文檔[說](https://docs.oracle.com/javase/8/docs)之外,還會在結果中附加一個空字符串/api/java/lang/String.html#split-java.lang.String-)「結尾的空字符串不包含在結果數組中」。 – Boann 2015-11-09 00:46:34
也許你可以使用一個for循環,通過字符串的內容去,並提取由字符的字符使用charAt
方法。
例如,您可以結合一個ArrayList<String>
獲得您的單個字符數組。
也許你可以站在一條腿上唱「神拯救女王」。對不起,但這甚至不是正確的。 – 2017-01-27 07:54:17
"cat".toCharArray()
但是如果你需要串
"cat".split("")
編輯:它會返回一個空的第一個值。
轉動串轉化成的陣列的有效方式一個字符串將會這樣做:
String[] res = new String[str.length()];
for (int i = 0; i < str.length(); i++) {
res[i] = Character.toString(str.charAt(i));
}
但是,這並沒有考慮到String
中的char
實際上可能代表Unicode代碼點的一半。 (如果代碼點不在BMP中)。爲了解決這個問題,你需要遍歷代碼點......這更加複雜。
這種方法將比使用String.split(/* clever regex*/)
更快,它可能比使用Java 8+流更快。這是比這更快的可能:
String[] res = new String[str.length()];
int 0 = 0;
for (char ch: str.toCharArray[]) {
res[i++] = Character.toString(ch);
}
因爲toCharArray
有副本字符到一個新的數組。
array ["a", "?", "?", "b"]
)和更安全的東西已被用作
"ab".split("(?!^)")
不能使用
如果超出Basic Multilingual Plane字符預期輸入(某些CJK字符,新的表情符號),這樣的方法,:
"ab".codePoints()
.mapToObj(cp -> new String(Character.toChars(cp)))
.toArray(size -> new String[size]);
綜上所述其他答案...
這適用於所有的Java版本:
"cat".split("(?!^)")
只關於Java 8個,最多這僅適用於:
"cat".split("")
- 1. C#拆分字符串 - 將字符串拆分爲數組
- 2. 將字符串拆分爲字符串
- 3. 將字符串拆分爲字符串
- 4. Swift 3:按字符串將字符串拆分爲數組
- 5. 如何將字符串拆分爲字符串數組?
- 6. 將字符串拆分爲字符串數組
- 7. 將字符串拆分爲字符串數組
- 8. 將字符串拆分爲字符串數組
- 9. 將字符串拆分爲字符串數組。
- 10. C++將字符串拆分爲字符串數組
- 11. 如何將字符串拆分爲字符串數組?
- 12. 將字符串拆分爲數組C
- 13. 將字符串拆分爲數組Shellllscript
- 14. Android將字符串拆分爲數組
- 15. 將字符串拆分爲雙數組
- 16. 將字符串拆分爲數組C++
- 17. 將字符串拆分爲數組
- 18. Bash:將字符串拆分爲數組
- 19. 使用拆分將字符串拆分爲2個字符組?
- 20. 拆分字符串數組
- 21. 將字符串拆分爲「。」
- 22. 將字符串拆分爲「|」
- 23. 將lua字符串拆分爲字符
- 24. php將字符串拆分爲字符
- 25. PatternSyntaxException將字符串拆分爲「*」字符
- 26. Elisp拆分字符串函數來拆分字符串。字符
- 27. 如何將字符串拆分爲字母字符串和數字字符串?
- 28. 將字符串拆分爲多個字符串組
- 29. 將字符串拆分爲基於分隔符的字符串數組
- 30. 將字符串拆分爲不帶分隔符的字符串數組C
http://stackoverflow.com/questions/1521921/splitting-words-into-letters-in-java – birryree 2011-03-08 16:40:24
作爲一個快速參考 「」。加入([「c」,「a」,「t」])以獲得「貓」。 – shuva 2017-12-13 18:36:41