如何使用stringbuilder在这个java程序中处理字符串?

lzfw57am  于 2021-07-13  发布在  Java
关注(0)|答案(3)|浏览(288)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

四年前关门了。
改进这个问题
我搞不清楚这个问题
将句子转换成一个字符串,其中单词之间用空格隔开,只有第一个单词以大写字母开头。例如,字符串“stopandsweatheroses.”将转换为“stop and some the roses.”使用stringbuilder对象处理该字符串。使用joptionpane进行用户输入/输出。使用 Package 类字符检测单词。
到目前为止我所拥有的。我不知道如何使用 Package 器类来检测大写字母,然后在它们后面插入空格。

public static void main(String[] args) {

    String input;

    input = JOptionPane.showInputDialog("Please enter a sentence in which "
            + "every word "
            + "begins with an upper case letter: ");

    input = input.trim();

    StringBuilder sb = new StringBuilder(input);

    for(int i = 0; i < input.length(); i++)
     {
        if((Character.isUpperCase(input)))
      {

        }
    }

}
uurv41yg

uurv41yg1#

所以使用 regex 展望未来:

Arrays.toString("StopAndSmellTheRoses.".split("(?=[A-Z])"))
b0zn9rqh

b0zn9rqh2#

我还没试过运行这个,但也许是这样的?

// Iterate up to second last element 
for(int i = 0; i < input.length(); i++) {
    // Get i-th character
    char val = input.charAt(i);
    // If i-th character is upper case
    if((Character.isUpperCase(val))) {
        // Insert whitespace
        sb.append(" ");       
    }
    // Append lower case char
    sb.append(Character.toLowerCase(val));
}
bvn4nwqk

bvn4nwqk3#

分裂然后加入。

String str = "StopAndSmellTheRoses.";
String[] r = str.split("(?=\\p{Upper})");
StringBuilder hello = new StringBuilder();
String delimiter = " "; 
for(String s : r) {
   hello.append(s).append(delimiter);
}
System.out.println(hello);

输出: Stop And Smell The Roses.

相关问题