将字符串拆分成小部件[JAVA]

时间:2012-12-10 08:41:15

标签: java regex arrays string split

我有一个表示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 个答案:

答案 0 :(得分:1)

使用sentence.split("");

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

    (?!^)之前放置\\s*^是字符串的开头,(?!^)否定了该字符串 所以(?!^)\\s*表示不是字符串的起始点,而是空格0或更多的驯服。

答案 1 :(得分:1)

您可能希望转换为字符数组

char[] letters = word.toCharArray();

答案 2 :(得分:0)

您也可以使用String.getChars()

答案 3 :(得分:0)

String sentence = "BINGO";
String words[] = sentence.split(""); // empty regex

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