在Android中转换为句子大小写
我的应用程序接收到大量段落长度的文本。有些是大写的,有些是小写的,有些是混合的。我想把它转换成句子大小写,即所有句子都应该以大写字母开头。执行转换的最有效方式是什么?-我找不到任何示例代码或库来执行此操作。上面链接中引用的代码不太有效,因此我对其进行了如下扩展,以将文本转换为: “这句话不整齐。这句话也不整齐。” 进入 “这句话不整齐。这句话也不整齐。”在Android中转换为句子大小写,android,string,Android,String,我的应用程序接收到大量段落长度的文本。有些是大写的,有些是小写的,有些是混合的。我想把它转换成句子大小写,即所有句子都应该以大写字母开头。执行转换的最有效方式是什么?-我找不到任何示例代码或库来执行此操作。上面链接中引用的代码不太有效,因此我对其进行了如下扩展,以将文本转换为: “这句话不整齐。这句话也不整齐。” 进入 “这句话不整齐。这句话也不整齐。” public静态字符串语句casefortext(字符串文本){ 如果(text==null)返回“”; int pos=0; 布尔大写=真;
public静态字符串语句casefortext(字符串文本){
如果(text==null)返回“”;
int pos=0;
布尔大写=真;
StringBuilder sb=新的StringBuilder(文本);
while(pos
您能在这里向我们展示一些示例数据吗?还有,当一个句子结束时,另一个句子开始时,标记是什么?
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();
}