java - 获取字符串中每个单词的第一个字符

标签 java string

我正在尝试让一个程序运行,它执行以下操作:

假设我们有一个名为 nameString,设置为 "Stack Overflow Exchange"。我想输出给用户 "SOE",每个单词的第一个字符。我尝试使用 split() 方法,但我没有成功。

我的代码:

public class q4 {
    public static void main(String args[]) {
        String x = "michele jones";
        String[] myName = x.split("");
        for(int i = 0; i < myName.length; i++) {
            if(myName[i] == "") {
                String s = myName[i];
                System.out.println(s);
            }              
        }         
    }     
}   

我正在尝试检测是否有任何空格,然后我可以简单地获取下一个索引。谁能告诉我我做错了什么?

最佳答案

String initials = "";
for (String s : fullname.split(" ")) {
  initials+=s.charAt(0);
}
System.out.println(initials);

这是这样工作的:

  1. 声明一个变量“initials”来保存结果
  2. 在空格上拆分全名字符串,并迭代单个单词
  3. 将每个单词的第一个字符添加到首字母

编辑:

如建议的那样,字符串连接通常效率不高,如果您正在处理很长的字符串,StringBuilder 是更好的选择:

StringBuilder initials = new StringBuilder();
for (String s : fullname.split(" ")) {
  initials.append(s.charAt(0));
}
System.out.println(initials.toString());

编辑:

您可以简单地获取一个字符串作为字符数组:

char[] characters = initials.toString().toCharArray();

关于java - 获取字符串中每个单词的第一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26180992/

相关文章:

ruby-on-rails - Ruby 字符串,获取兼容编码列表

java - 如何将java字符串转换为日期对象

ios - 在 Swift 中查找字符串中第 N 个子字符串实例的索引

c++ - C++ 字符串的迭代器问题

java - 渲染 jsf 后 - 空 tbody 元素

java - 我如何使用 MEL 作为调用的方法参数创建静态字符串数组

java - 使用 JNI 问题构建 .so 文件

python - 如何删除这个特殊字符?

使用 MySQL 和 Qtjambi 的 Java 客户端-服务器应用程序 : which licence?

Java - 调用类方法