在android中将String转换为title case

时间:2015-09-29 19:29:50

标签: android string android-edittext capitalization title-case

在将我的问题标记为duplicate之前,请注意该线程中对“标题案例”的含义存在根本性的误解。在英语中, Title Case 与每个单词大写不同。在标题中,我们应该

  • 将名词,代词,形容词,动词,副词和从属连词大写。
  • 小写文章(a,an,the),协调连词和介词。

由于我指出的类似问题也有点过时,我想知道是否有人知道android中的任何设施将字符串转换为标题案例?或者是推出自己的课程的唯一选择?

对于某些背景,如果您关心,我正在构建一个具有一些用户生成内容的应用程序,以及专家生成的内容。我希望我的应用看起来聪明而专业。因此,对于EditText,我启用了textAutoComplete|textAutoCorrect。但另外,我希望标题看起来像标题,而不仅仅是随机用户输入的字符串。

1 个答案:

答案 0 :(得分:4)

答案很晚,但也许可以帮助别人。

public static String changeStringCase(String s) {

final String DELIMITERS = " '-/"; 

StringBuilder sb = new StringBuilder();
boolean capNext = true;

for (char c : s.toCharArray()) {
    c = (capNext)
            ? Character.toUpperCase(c)
            : Character.toLowerCase(c);
    sb.append(c);
    capNext = (DELIMITERS.indexOf((int) c) >= 0); 
}
return sb.toString(); }

输出

  1. change caSE - >改变案例
  2. 更改案例 - >改变案例
  3. 更改案例 - >改变案例
  4. 等。