-1

例如,我有一个字符串,上面写着 Bingo,我想把它分成更小的部分,并让它们中的每一个都成为一个字符串数组;

String s = "BINGO"

我希望它是这样的;

String s[] = new String[s.length];
s[0] = B;
s[1] = I;
s[2] = N;
s[3] = G;
s[4] = O;

我试过了,但失败了;

public static void main(String[] args) {


    String sentence = "BINGO";
    String words[] = sentence.split("a-zA-Z");

   for (String word : words) {
    System.out.println(word);
}

它只是打印出“BINGO”,而我想拆分它们,现在我应该使用什么正则表达式?

4

4 回答 4

1

您可能想要转换为字符数组

char[] letters = word.toCharArray();
于 2012-12-10T08:51:36.863 回答
1

利用sentence.split("");

  1. split 方法通过应该拆分的内容获取正则表达式。这意味着正则表达式捕获的所有内容都不会成为结果。
  2. 如果您希望 regexp 捕捉字母,您应该放置a-zA-Z方括号 ( [a-zA-Z]) 阅读 regexp 文档。
  3. 如果要获取结果中的每个字符,请使用空字符串。如果您不需要空格,请使用\\s*(空格字符 0 次或多次)

编辑:

放在(?!^)前面\\s*^是字符串的开头并(?!^)否定它。
所以(?!^)\\s*意味着不是字符串的起点和空格 0 个或多个 tames。

于 2012-12-10T08:44:06.973 回答
0

您也可以使用String.getChars().

于 2012-12-10T08:50:39.580 回答
0
String sentence = "BINGO";
String words[] = sentence.split(""); // empty regex

for (String word : words) 
        System.out.println(word);
于 2012-12-10T08:55:34.437 回答