我不知道用戶輸入到我的程序中的短語,我需要將整個第一個單詞大寫。如何將短語的第一個單詞轉換爲全部大寫?
這是我試過使用的代碼。
System.out.println(p1.toUpperCase(0, p1.charAt(" ")));
我收到的錯誤是 「的方法的charAt(INT)在String類型是不適用於agruments(字符串)」。我不知道如何大寫,所以任何幫助將不勝感激。
我不知道用戶輸入到我的程序中的短語,我需要將整個第一個單詞大寫。如何將短語的第一個單詞轉換爲全部大寫?
這是我試過使用的代碼。
System.out.println(p1.toUpperCase(0, p1.charAt(" ")));
我收到的錯誤是 「的方法的charAt(INT)在String類型是不適用於agruments(字符串)」。我不知道如何大寫,所以任何幫助將不勝感激。
假設你的話用空格分隔,您可以使用以下方法,使您的第一個字大寫:
String str = "This is a space separated string";
String newString = str.substring(0, str.indexOf(" ")).toUpperCase() +
str.substring(str.indexOf(" "));
需要注意的是,String#charAt
方法接受一個索引,並且位於該索引返回字符。您需要使用String#indexOf
,它給出了傳遞的序列或字符的第一個索引。
在上面的代碼:
str.substring(0, str.indexOf(" "))
返回字符串中的第一個字,並在返回的字符串調用toUpperCase()
爲大寫字符串轉換。 然後您與剩餘的字符串連接。
您可以使用capitalize
或capitalizeFully
方法從WordUtils
類從org.apache.commons.lang3.text
。
欲瞭解更多詳情,看看here。