转换为Android中的句子案例

时间:2017-11-17 11:21:48

标签: android string

我的应用收到大量段落长度的文字。其中一些是大写的,一些是较低的,一些是混合的。我想将其转换为句子,即所有句子都应以大写字母开头。什么是最有效的转换方式? - 我找不到任何示例代码或库来执行此操作。

1 个答案:

答案 0 :(得分:2)

上面链接中引用的代码不太起作用,所以我按如下方式对其进行了扩展,如下所示:

"这个SENTENce并不整洁。也不是这句话。"

进入

"这句话不整齐。这句话也不是。"

public static String sentenceCaseForText(String text) {

    if (text == null) return "";

    int pos = 0;
    boolean capitalize = true;
    StringBuilder sb = new StringBuilder(text);

    while (pos < sb.length()) {

        if (capitalize && !Character.isWhitespace(sb.charAt(pos))) {

            sb.setCharAt(pos, Character.toUpperCase(sb.charAt(pos)));
        }
        else if (!capitalize && !Character.isWhitespace(sb.charAt(pos))) {

            sb.setCharAt(pos, Character.toLowerCase(sb.charAt(pos)));
        }

        if (sb.charAt(pos) == '.' || (capitalize && Character.isWhitespace(sb.charAt(pos)))) {

            capitalize = true;
        }
        else {

            capitalize = false;
        }

        pos++;
    }

    return sb.toString();
}