如何创建除最后一个单词之外的所有小写字母?

问题描述 投票:0回答:3

到目前为止我所拥有的是enter image description here

所以如果我输入“祝您和您的家人节日快乐” 我希望我的输出是“祝您和您的家人节日快乐”

java bluej
3个回答
2
投票

这是我使用流的 Java 解决方案:

用于输入

“祝您和您的家人节日快乐”

输出为

“祝您和您的家人节日快乐”

public String convertToLowerCase(String str) {
   String delimiter = " ";
   String[] wordList =  str.split(delimiter);
   String lastWord = wordList[wordList.length - 1];
   return Arrays.stream(wordList).map(String::toLowerCase).limit(wordList.length - 1).collect(Collectors.joining(delimiter)) + delimiter + lastWord;
 }

0
投票

这是一个Javascript解决方案

let  myString = "Happy Holidays To YOU and YOUR Family"
let myFunction = (input) => {
  let arr = input.toLowerCase().split(" ");
  let str = arr[arr.length-1];
  arr[arr.length-1] = str[0].toUpperCase() + str.slice(1).toLowerCase();
  return arr.join(" ");
}

let newString = myFunction(myString)
console.log(newString)

0
投票

答案如下:

/**
 * The entry point of application.
 *
 * @param args the input arguments
 */
public static void main(String[] args) {
    String  myString = "Happy Holidays To YOU and YOUR Family";
    try{
        System.out.println(stringLowerCaseExpectLastWord(myString));
    } catch (IllegalArgumentException e){
        System.out.println(e.getMessage());
    }
}

/**
 * Upper first char at last word string.
 *
 * @param myString the my string
 * @return the string
 */
public static String stringLowerCaseExpectLastWord(String myString) {
    myString = myString.trim().toLowerCase();
    int i = myString.lastIndexOf(" ");
    if(i==-1)
        throw new IllegalArgumentException("No spaces in input");
    StringBuilder stringBuilder = new StringBuilder();
    stringBuilder.append(myString.substring(0, i)
            .concat(" "));
    if(myString.length()==i+i){
        stringBuilder.append(myString.substring(i + 1).toUpperCase());
    }
    else {
        stringBuilder.append(myString.substring(i+1, i+2).toUpperCase()
                .concat(myString.substring(i+2)));

    }
    return stringBuilder.toString();
}
© www.soinside.com 2019 - 2024. All rights reserved.