回答
"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