[英]In Java, how do you convert all of the words of a string to sentence case?
在Java中,如何將其轉換為:
little bo peep HAS LOST HER SHEEP And Doesn't Know WHERE to Find them
對此:
Little Bo Peep Has Lost Her Sheep And Doesn't Know Where To Find Them
public static void main(String[] args) {
String str = "little bo peep HAS LOST HER SHEEP And Doesn't Know WHERE to Find them";
str = str.toLowerCase();
final StringTokenizer st = new StringTokenizer(str, " ");
final StringBuilder sb = new StringBuilder();
while (st.hasMoreTokens()) {
String token = st.nextToken();
sb.append(Character.toUpperCase(token.charAt(0))
+ token.substring(1) + " ");
}
System.out.println(sb.toString().trim());
}
或普通拆分版本:
public static String capWords(String s) {
if (s == null && s.isEmpty()) {
return s;
} else {
StringBuilder sb = new StringBuilder();
for (String token : s.split(" ")) {
if (token.isEmpty()) {
if (sb.length() > 0) {
sb.append(" ");
}
} else {
if (sb.length() > 0) {
sb.append(" ");
}
sb.append(Character.toUpperCase(token.charAt(0)));
if (token.length() > 1) {
sb.append(token.substring(1).toLowerCase());
}
}
}
return sb.toString();
}
}
注意 :此版本還將修剪前導/后綴空格(可能不希望使用)
導入java.io. *;
ex3類
{
public static void main(String arg[])
{
DataInputStream dis = new DataInputStream(System.in);
try
{
System.out.println("ENTER THE STRING::");
String s=dis.readLine();
String res="";
char fchar=Character.toUpperCase(s.charAt(0));
res=res+fchar;
for(int i=1;i<=s.length()-1;i++)
{
if(s.charAt(i)==' ')
res=res+s.charAt(i);
else if(s.charAt(i)=='.'||s.charAt(i)=='?'||s.charAt(i)=='!')
{
res=res+s.charAt(i);
res=res+Character.toUpperCase(s.charAt(i+1));
i=i+1;
}
else
res=res+Character.toLowerCase(s.charAt(i));
}
System.out.println(res);
}
catch(Exception e){}
}
}
private static String capitalize(String s){
String str = s.toLowerCase();
char[] c = str.toCharArray();
c[0] = Character.toUpperCase(c[0]);
return new String(c);
}
private static String format(String s){
String[] splitted = s.split(" ");
StringBuffer sb = new StringBuffer();
for(int i=0, l = splitted.length; i < l; i++){
if(splitted[i].trim().length() != 0){
sb.append(capitalize(splitted[i]) + " ");
}
if(i != l-1){
sb.append(" ");
}
}
return sb.toString();
}
public static void main(String... args){
System.out.println(format("little bo peep HAS LOST HER SHEEP And Doesn't Know WHERE to Find them"));
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.