2

我需要将字符串值转换为大写(每个单词中的第一个字母为大写)。这可以通过使用 ucwords() 方法在 php 中完成。

前任 :

String myString = “HI GUYS”;
myString = myString. toLowerCase().replaceAll(“Regex”, “Some Charactor”)

感谢 hi5

4

6 回答 6

3

使用regex,会很困难。尝试以下简单代码:

String str="hello world";
String[] words=str.split(" ");
for (String word : words) {
   char upCase=Character.toUpperCase(word.charAt(0));
   System.out.print(new StringBuilder(word.substring(1)).insert(0, upCase));
}

输出:

你好世界

于 2013-11-07T04:45:03.563 回答
2

下面提到的在你所有的情况下都很好用

If you need to get first letter of all words capital ..
-----------------------------------------------------



 public String toTheUpperCase(String givenString) {
            String[] arr = givenString.split(" ");
            StringBuffer sb = new StringBuffer();
            for (int i = 0; i < arr.length; i++) {
                sb.append(Character.toUpperCase(arr[i].charAt(0)))
                        .append(arr[i].substring(1)).append(" ");
            }
            return sb.toString().trim();
        }



When you need first letter of first word to be capitalized 
-------------------------------------------------------------


public String toTheUpperCaseSingle(String givenString) {
                String example = givenString;

                example = example.substring(0, 1).toUpperCase()
                        + example.substring(1, example.length());

                System.out.println(example);
                return example;
            }

如何使用 :: 尝试在您的超类中定义此代码(最佳代码实践)

现在,当您需要使用此方法时 .. 只需传递您需要转换的字符串。例如::让我们假设我们的超类为 CommanUtilityClass.java ...

现在你需要在一些活动中使用这个方法,比如“ MainActivity.java ”

现在创建超类的对象为 :: [ CommanUtilityClass cuc; ]

最终任务 - 使用此方法,如下所述:

your_text_view.setText(cuc.toTheUpperCase(user_name)); // for all words 

your_text_view.setText(cuc.toTheUpperCaseSingle(user_name)); // for only first word ...

如果您需要更多详细信息,请告诉我..

享受

干杯!

于 2013-11-07T04:49:06.753 回答
1
System.out.println(ucWord("the codes are better than words !!"));// in main method

private static String ucWord(String word) {
    word = word.toLowerCase();
    char[] c = word.toCharArray();
    c[0] = Character.toUpperCase(c[0]);
    int len = c.length;
    for (int i = 1; i < len; i++) {
        if (c[i] == ' ') {
            i++;
            c[i] = Character.toUpperCase(c[i]);
        }
    }
    return String.valueOf(c);
}
于 2017-03-25T19:40:54.147 回答
0

您可以将 apache 中的 WordUtils 用于相同目的,

WordUtils.capitalizeFully(Input String);
于 2013-11-07T04:45:17.620 回答
0

以下是 toUpperCase 方法的简化版本。

将句子中的所有首字母更改为大写。

public static String ucwords(String sentence) {
    StringBuffer sb = new StringBuffer();

    for (CharSequence word: sentence.split(" "))
        sb.append(Character.toUpperCase(word.charAt(0))).append(word.subSequence(1, word.length())).append(" ");

    return sb.toString().trim();
}

仅将第一个单词更改为大写。(漂亮的单线)

public static String ucFirstWord(String sentence) {
    return String.valueOf(Character.toUpperCase(word.charAt(0))).concat(word.substring(1));
}
于 2015-05-24T22:27:30.110 回答
0

String stringToSearch = "这个字符串需要每个单词的首字母大写";

    // First letter upper case using regex
Pattern firstLetterPtn = Pattern.compile("(\\b[a-z]{1})+");
Matcher m = firstLetterPtn.matcher(stringToSearch);
StringBuffer sb = new StringBuffer();
while(m.find()){
    m.appendReplacement(sb,m.group().toUpperCase()); 
}
m.appendTail(sb);
stringToSearch = sb.toString();
sb.setLength(0);

System.out.println(stringToSearch);

output:

This String Is Needed To Be First Letter Uppercased For Each Word
于 2017-02-18T02:11:09.033 回答