在自定义TextView中,假设第一个字符为数字,则下一个字符为字符。如何找到第一个字符的数字。
答案 0 :(得分:6)
如果您使用的是Kotlin,您可以选择:
首字母大写:
var str = "whaever your string is..."
str.capitalize()
// Whaever your string is...
将每个单词大写
var str = "whaever your string is..."
val space = " "
val splitedStr = str.split(space)
str = splitedStr.joinToString (space){
it.capitalize()
}
// Whaever Your String Is...
答案 1 :(得分:4)
在布局xml中,添加android:capitalize ="句子"
android:capitalize的选项如下:
android:capitalize =" none" :它不会自动将任何内容资本化。
android:capitalize ="句子" :这将使每个句子的第一个单词大写。
android:capitalize ="单词" :这会将每个单词的第一个字母大写。
android:capitalize ="字符" :这会占用每个角色。
<强>更新强>
由于android:capitalize已被弃用,现在需要使用:
<强>机器人:的inputType =&#34; textCapWords&#34; 强>
答案 2 :(得分:3)
通过拆分整个单词
来尝试此方法String input= "sentence";
String output = input.substring(0, 1).toUpperCase() + input.substring(1);
textview.setText(output);
输出: 句子
答案 3 :(得分:1)
您正在为TextView的xml布局文件中查找inputType参数。基本上在布局文件中,您希望以驼峰形式设置TextView,添加以下行:
android:inputType = "textCapWords"
//This would capitalise the first letter in every word.
如果您只希望将TextView中的第一个字母大写,请改用以下字母。
android:inputType = "textCapSentences"
//This would capitalise the first letter in every sentence.
如果你有一个包含多个句子的textView,并且你只想将TextView中的第一个字母大写,我建议使用代码来执行此操作:
String[] words = input.getText().toString().split(" ");
StringBuilder sb = new StringBuilder();
if (words[0].length() > 0) {
sb.append(Character.toUpperCase(words[0].charAt(0)) + words[0].subSequence(1, words[0].length()).toString().toLowerCase());
for (int i = 1; i < words.length; i++) {
sb.append(" ");
sb.append(Character.toUpperCase(words[i].charAt(0)) + words[i].subSequence(1, words[i].length()).toString().toLowerCase());
}
}
String titleCaseValue = sb.toString();
希望这会有所帮助:)
答案 4 :(得分:0)
String text = textView.getText().toString();
for(Character c : text){
if(c.isLetter){
//First letter found
break;
}
答案 5 :(得分:0)
使用此函数传递您的字符串并返回大写字符串。
public static String wordCapitalize(String words)
{
String str = "";
boolean isCap = false;
for(int i = 0; i < words.length(); i++){
if(isCap){
str += words.toUpperCase().charAt(i);
}else{
if(i==0){
str += words.toUpperCase().charAt(i);
}else {
str += words.toLowerCase().charAt(i);
}
}
if(words.charAt(i)==' '){
Utility.debug(1,TAG,"Value of i : "+i+" : "+words.charAt(i)+" : true");
isCap = true;
}else{
Utility.debug(1,TAG,"Value of i : "+i+" : "+words.charAt(i)+" : false");
isCap = false;
}
}
Utility.debug(1,TAG,"Result : "+str);
return str;
}