连接字符串中每个单词的第一个字母,不带空格

时间:2021-03-25 01:42:28

标签: java string character

给定一个字符串,获取每个单词的第一个字母并将结果作为没有空格的字符串返回。

public class Solution {
    static String getFirstLetterWord(String text) {
        char[] c = text.toCharArray();
        String output = " ";
        for (int i = 0; i < c.length; i++) {
            if (c[i] != ' ' && (i == 0 || c[i - 1] != ' ')) {
                System.out.println(c[i]);
                output = output + c[i];
            }
        }
        return output;
    }
}

1 个答案:

答案 0 :(得分:1)

你可以用空格分割字符串 text.split(" ") 它会给你一个单词数组, 您可以稍后遍历数组并获取每个单词的第一个字符并将其组合成一个数组

示例

static String getFirstLetterWord(String text) {
    final String[] words = text.split(" ");
    String output = "";
    for (String word : words) {
        output += word.charAt(0);
    }
    return output;
}

为了获得更好的性能,您可以使用 StringBuilder

示例

static String getFirstLetterWord(String text) {
    final String[] words = text.split(" ");
    StringBuilder output = new StringBuilder();
    for (String word : words) {
        output.append(word.charAt(0));
    }
    return output.toString();
}

或者,如果您使用的是 java 8,则可以使用流来实现

static String getFirstLetterWord(String text) {
    final String[] words = text.split(" ");
    return  Stream.of(words).map(word -> word.subSequence(0, 1))
            .collect(Collectors.joining());
}