如何将java中字符串中每个单词的第一个和最后一个字母大写

ant*_*234 5 java string character

如何大写字符串中每个单词的第一个和最后一个字母

我这样做了 -

    String cap = "";
    for (int i = 0; i < sent.length() - 1; i++)
    {
        if (sent.charAt(i + 1) == ' ')
        {
            cap += Character.toUpperCase(sent.charAt(i)) + " " + Character.toUpperCase(sent.charAt(i + 2));
            i += 2;
        }
        else
            cap += sent.charAt(i);
    }
    cap += Character.toUpperCase(sent.charAt(sent.length() - 1));
    System.out.print (cap);
Run Code Online (Sandbox Code Playgroud)

当第一个单词超过单个字符时,它不起作用

请使用简单的功能,因为我是初学者

dav*_*xxx 2

您应该使用空格作为字符分隔符来分割字符串,然后对每个标记在第一个和最后一个字符上应用 toUpperCase() 并创建一个新的字符串作为结果。

非常简单的示例:

  String cap = "";
  String sent = "hello  world. again.";

  String[] token = sent.split("\\s+|\\.$");

  for (String currentToken : token){
      String firstChar = String.valueOf(Character.toUpperCase(currentToken.charAt(0)));
      String between = currentToken.substring(1, currentToken.length()-1);
      String LastChar = String.valueOf(Character.toUpperCase(currentToken.charAt(currentToken.length()-1)));
      if (!cap.equals("")){
        cap += " ";
      }
      cap += firstChar+between+LastChar; 
  }
Run Code Online (Sandbox Code Playgroud)

当然,当您执行许多连接时,您应该更喜欢使用 StringBuilder 而不是 String。

输出结果:HellO World. AgaiN